【问题标题】:Converting int Array to a string and displaying it in a textarea将 int Array 转换为字符串并在 textarea 中显示
【发布时间】:2014-04-03 05:58:48
【问题描述】:

嘿,我刚开始编程,需要帮助我在 TextArea 中转换/显示我的数组。下面的代码是我的数组类的一部分。 output.setText(array[i]); 给我和错误说“需要 String,找到 int”。我不确定如何转换它并显示数组内的随机数列表。

public void setArray(int x){
    for(int i = 0; i > array.length; i++){
        array[i] = x;
    }
}
public void fillArray(){
    int arrayNumbers = randomNumber.nextInt(100)+1;
    for(int i= 0; i > array.length ; i++){
        array[i] = arrayNumbers;
        output.setText(array[i]);
    }
}

【问题讨论】:

    标签: java arrays


    【解决方案1】:

    首先setText 将用您提供的文本替换文本区域的内容,您可能应该使用append

    你可以使用...

    output.append(String.valueOf(array[i]));
    

    或者

    output.append(Integer.toString(array[i]));
    

    将int 值转换为String

    您也可以先使用StringBuilder 来建立String 值,例如...

    StringBuilder sb = new StringBuilder(array.length);
    for(int i= 0; i < array.length ; i++){
        array[i] = arrayNumbers;
        sb.append(array[i]);
    }
    output.setText(sb.toString());
    

    另外,你的代码通常没有意义......

    例如...

    for(int i= 0; i > array.length ; i++){
    

    虽然i 大于array.length?这很可能是false,如果不是,则会导致IndexOutOfBoundsException...

    你也在用相同的数字填充数组...

    【讨论】:

      【解决方案2】:

      我要注意的第一件事是您正在用相同的随机数填充Array。如果你想用不同的数字填充数组,你应该这样做:

      public void fillArray(){
          for(int i= 0; i > array.length ; i++){
              int arrayNumber = randomNumber.nextInt(100)+1;
              array[i] = arrayNumber;
              output.setText(Integer.toString(arrayNumber));
          }
      }
      

      在 Java 8 中,您可以稍微简化一下:

      array = new Random().ints(0, 100 + 1).limit(size).toArray();
      textArea.setText(IntStream.of(array).
              mapToObj(Integer::toString).
              collect(Collectors.joining("\n")));
      

      即您首先通过流式传输所需数量的随机数来创建int[]。您通过在分隔符上加入数组来填充TextArea。我使用了\n - 换行符 - 但你可以使用任何你想要的东西。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2019-05-07
        • 2016-06-10
        • 1970-01-01
        • 1970-01-01
        • 2011-10-02
        • 2011-03-06
        • 1970-01-01
        相关资源
        最近更新 更多