Java 生成随机字母表

Java 生成随机字母表,java,android,random,Java,Android,Random,如何在android中生成随机数?在我的活动中,它有一个按钮,文本视图和编辑文本。用户首先需要键入A-D之间的字母表。单击按钮时,将显示字母表字母表不应与输入相同 然后,字母表将从列表中删除 假设列表是{A,B,C,D}如果用户输入A,系统将显示除A以外的任何字母表。如果输出是B,则B将从列表中删除。因此,如果再次单击按钮,它将不会再次显示B @Override protected void onCreate(Bundle savedInstanceState) { su

如何在android中生成随机数?在我的活动中,它有一个
按钮
文本视图
编辑文本
。用户首先需要键入A-D之间的字母表。单击按钮时,将显示字母表字母表不应与输入相同

然后,字母表将从列表中删除

假设列表是{A,B,C,D}如果用户输入A,系统将显示除A以外的任何字母表。如果输出是B,则B将从列表中删除。因此,如果再次单击按钮,它将不会再次显示B

@Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        final Random r = new Random();
        input=(EditText)findViewById(R.id.editText);
        a=input.getText().toString();
        btnNext = (Button) findViewById(R.id.button);
        Name=(TextView)findViewById(R.id.textView);
        btnNext.setOnClickListener(new View.OnClickListener() {  //if next button is clicked
            @Override
            public void onClick(View v) {
                if(a=="A") 
                {
                    //what should write here ? 
                }
                Name.setText(Integer.toString(r.nextInt(100) + 1));
            }
        });
    }

这是我尝试过的,但它被用来生成一个随机数。有什么提示吗?谢谢

您可以从列表中删除输入的字母表,并从该列表中创建一个随机索引,然后通过该索引获得字母表。希望这有帮助

您可以为此使用类型转换: 1) 正在使用asci编号创建数组。 2) 键入cast将输入转换为int并从数组中删除该数字。 3) 然后使用随机函数获取0到26之间的任意数字,即字母的长度,并从数组列表中获取。
4) 现在再次键入cast将其转换为char并显示。

当用户输入字母表并单击next时,从列表中删除字母表。这样,您将永远不会显示相同的字母表

  • 在arrayList中有26个元素(字母)
  • 生成0到n之间的随机数(n最初为25)
  • 获取该索引处的列表项。这将是一个字母表
  • 将其从列表中删除
  • 生成一个介于0和n-1之间的随机数
  • 重复一遍

  • Pro:可用于多种变体。不仅仅是字母表。

    最简单的解决方案:

    Random random = new Random();
    int index = random.nextInt(25);
    
    String [] alphabets = {"A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L","M", "N","O","P","Q", "R", "S", "T", "U", "V","W", "X","Y","Z"};
    
    String mRandomAlphabet = alphabets[index];
    Log.i("Random Alphabet", mRandomAlphabet);
    
    希望这能帮到你