生成随机字母表

时间:2015-12-04 05:13:11

标签: java android random

如何在android中生成随机数?在我的活动中,它有一个buttontextVieweditText。用户首先需要在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));
            }
        });
    }

这是我尝试过的,但它用于生成随机数。任何提示?感谢

4 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:1)

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

答案 2 :(得分:1)

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

  1. 在arrayList中有26个元素(字母)。
  2. 生成0到n之间的随机数(n最初为25)。
  3. 获取该索引的列表项。这将是一个字母表。
  4. 将其从列表中删除。
  5. 生成0到n-1之间的随机数。
  6. 重复。
  7. Pro:适用于多种变体。不仅仅是字母表。

答案 3 :(得分:1)

最简单的解决方案:

n * 1.0

希望这对您有所帮助。

相关问题