请制作一个Android小程序用material3风格实现输入最大最小值输出随机数保证去重
这是一个简单的Android小程序,使用Material3风格,实现了输入最大最小值,输出随机数,并保证去重。以下是实现代码的示例:
首先,在res/layout目录下创建一个名为activity_main.xml的布局文件,用来定义应用的界面布局:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:orientation="vertical"
android:padding="16dp"
tools:context=".MainActivity">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="最小值:"
android:textAppearance="@style/TextAppearance.MaterialComponents.Body1" />
<EditText
android:id="@+id/editTextMin"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="number" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="最大值:"
android:textAppearance="@style/TextAppearance.MaterialComponents.Body1" />
<EditText
android:id="@+id/editTextMax"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="number" />
<Button
android:id="@+id/buttonGenerate"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
android:text="生成随机数"
android:textAppearance="@style/TextAppearance.MaterialComponents.Button" />
<TextView
android:id="@+id/textViewResult"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
android:textAppearance="@style/TextAppearance.MaterialComponents.Body1" />
</LinearLayout>
接下来,在MainActivity.java文件中实现逻辑:
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import java.util.HashSet;
import java.util.Random;
import java.util.Set;
public class MainActivity extends AppCompatActivity {
private EditText editTextMin, editTextMax;
private Button buttonGenerate;
private TextView textViewResult;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
editTextMin = findViewById(R.id.editTextMin);
editTextMax = findViewById(R.id.editTextMax);
buttonGenerate = findViewById(R.id.buttonGenerate);
textViewResult = findViewById(R.id.textViewResult);
buttonGenerate.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
generateRandomNumber();
}
});
}
private void generateRandomNumber() {
int min = Integer.parseInt(editTextMin.getText().toString());
int max = Integer.parseInt(editTextMax.getText().toString());
if (min >= max) {
textViewResult.setText("最小值不能大于或等于最大值");
return;
}
Set<Integer> numbers = new HashSet<>();
Random random = new Random();
while (numbers.size() < max - min + 1) {
int randomNumber = random.nextInt(max - min + 1) + min;
numbers.add(randomNumber);
}
StringBuilder result = new StringBuilder();
for (int number : numbers) {
result.append(number).append(" ");
}
textViewResult.setText(result.toString());
}
}
最后,在AndroidManifest.xml文件中添加以下权限,以允许应用读取和修改外部存储:
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
编译并运行该应用,即可通过输入最大最小值,点击按钮生成随机数,并在界面上显示结果
原文地址: https://www.cveoy.top/t/topic/inYe 著作权归作者所有。请勿转载和采集!