-2

我需要[[, , , ,]]在生成的随机数的输出中删除。

我的代码如下:

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    final Random myRandom = new Random();

    Button buttonGenerate = (Button)findViewById(R.id.generateme);
    final TextView textGenerateNumber = (TextView)findViewById(R.id.generatenumber);

    buttonGenerate.setOnClickListener(new OnClickListener(){
        @Override
        public void onClick(View v) {
            ArrayList<Object> Arry1 = new ArrayList<Object>();
            for(int i=0;i<1;i++){
                ArrayList<Integer> Arry = new ArrayList<Integer>();
                for(int k=0;k<7;k++){
                    Arry.add(myRandom.nextInt(10));
                }
                Arry1.add(Arry);
            }
            textGenerateNumber.setText(String.valueOf(Arry1));
        }
    });  
}

这是模拟器上的输出

4

8 回答 8

1

您的代码没有任何意义,因此我建议您阅读更多(并查看示例)关于 java 变量类型和数组的内容。

对于您的要求,您可以使用:

     @Override
     public void onClick(View v) {
         String text = "";
         for(int k=0;k<6;k++){
             text += myRandom.nextInt(10)) + " ";
         }
         text += myRandom.nextInt(10))
         textGenerateNumber.setText(text);
     }

这将输出所有以空格分隔的数字

于 2013-03-14T08:41:32.980 回答
0
StringBuilder builder = new StringBuilder();
for(Integer i : Arry) {
    builder.append(i);
}
textGenerateNumber.setText(builder.toString());
于 2013-03-14T08:41:56.303 回答
0

将您的随机生成代码更改为:

               String rand = "";

               for(int k=0;k<7;k++){
                   rand += myRandom.nextInt(10);
               }                       

               textGenerateNumber.setText(rand);
于 2013-03-14T08:42:52.880 回答
0

您可以使用一个简单的逻辑 -

String concat ="";
for(int i = 0;i<Arry1.length;i++)
{
   concat = concat + Arry1[i];
}

textGenerateNumber.setText(concat);

希望这可以帮到你。

于 2013-03-14T08:44:03.760 回答
0
buttonGenerate.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        StringBuilder builder = new StringBuilder();

        for (int k = 0; k < 6; k++) {
            builder.append(myRandom.nextInt(10));
            builder.append(" ");
        }

        builder.append(myRandom.nextInt(10));

        textGenerateNumber.setText(builder.toString());
    }
});
于 2013-03-14T08:49:06.120 回答
0

可以replaceAll("\\[", "").replaceAll("\\]","").replace(",", "");如下图使用

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    final Random myRandom = new Random();

    Button buttonGenerate = (Button)findViewById(R.id.generateme);
    final TextView textGenerateNumber = (TextView)findViewById(R.id.generatenumber);

    buttonGenerate.setOnClickListener(new OnClickListener(){
        @Override
        public void onClick(View v) {
            ArrayList<Object> Arry1 = new ArrayList<Object>();
            for(int i=0;i<1;i++){
                ArrayList<Integer> Arry = new ArrayList<Integer>();
                for(int k=0;k<7;k++){
                    Arry.add(myRandom.nextInt(10));
                }
                Arry1.add(Arry);
            }

            String value = String.valueOf(Arry1);//changes here
            value = value.replaceAll("\\[", "").replaceAll("\\]","").replace(",", "");//changes here

            textGenerateNumber.setText(value );
        }
    });  
}
于 2013-03-14T08:49:46.157 回答
0

Android 中有一个专门的方法,TextUtils.join。

我不会复制文档,但简而言之,它通过将列表和数组与链接字符串连接起来来格式化它们。

通常,

int[] ints = new int[] {1, 2, 3, 4}
Log.d("", TextUtils.join(ints, " - "));

结果是

1 - 2 - 3 - 4
于 2013-03-14T08:54:29.663 回答
-1

所以只需一个一个打印数字

 @Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    final Random myRandom = new Random();


     Button buttonGenerate = (Button)findViewById(R.id.generateme);
    final TextView textGenerateNumber = (TextView)findViewById(R.id.generatenumber);

    buttonGenerate.setOnClickListener(new OnClickListener(){

             @Override
             public void onClick(View v) {
                 ArrayList<Object> Arry1 = new ArrayList<Object>();
                    for(int i=0;i<1;i++){
                   ArrayList<Integer> Arry = new ArrayList<Integer>();
                   for(int k=0;k<7;k++){
                       textGenerateNumber.setText(myRandom.nextInt(10));
                   }
                       Arry1.add(Arry);
                   }

                       }
                       });  
                    }
                 }
于 2013-03-14T08:42:30.003 回答