【问题标题】:how to store data in arrays, use functions for如何将数据存储在数组中,使用函数
【发布时间】:2020-07-02 12:48:27
【问题描述】:

我想使用 for 函数将数据保存到数组中。使用以下脚本:

int[] U;
int k = 0;

String ukecil = i.getStringExtra("ukecil");
String ubesar = i.getStringExtra("ubesar");

int ukk = Integer.parseInt(ukecil);
int ukb = Integer.parseInt(ubesar);

for (int j=ukk; j<=ukb; j++){
  U[k]= j;
  k++;
}

tx_uk1.setText(U[0]);
tx_uk2.setText(U[1]);
tx_uk3.setText(U[2]);

然后我想在文本视图中显示数据。 但是有一个错误是:

java.lang.NullPointerException: Attempt to write to null array

本节错误:

U[k]= j;

【问题讨论】:

    标签: java android arrays


    【解决方案1】:

    你需要指定数组的大小。

    int[] U=new int[size];
    

    如果您想要动态大小,请使用 ArrayList。

    ArrayList<Integer> U = new ArrayList<Integer>();
    U.add(k++,j); //index,element
    

    【讨论】:

    • 我在哪里保存这段代码?上面的代码有没有需要删除的部分?
    • 不.. 没有删除。如果使用数组方法,则仅替换该行。如果使用 arraylist 方法。用数组列表的第一行替换 int[] U 并且 U[k]=j;和k++;与第二行。
    • 我尝试使用大小为 6 的数组,但错误长度为 6 索引 6。我尝试了 arraylist 错误字符串资源 ID #0x18。 tx_uk1.setText(U.get(0));
    • 试试tx_uk1.setText (U.get (0)+"");
    • 我找到了解决方案。我使用:tx_uk1.setText(String.ValueOf(U.get(0));
    【解决方案2】:

    这是完整的代码

    ArrayList<Integer> U = new ArrayList<>();
    int k = 0;
    
    String ukecil = i.getStringExtra("ukecil");
    String ubesar = i.getStringExtra("ubesar");
    
    int ukk = Integer.parseInt(ukecil);
    int ukb = Integer.parseInt(ubesar);
    
    for (int j=ukk; j<=ukb; j++){
         U.add(k++,j);//Updated
    }
    
    tx_uk1.setText(U.get(0)+"");
    tx_uk2.setText(U.get(1)+"");
    tx_uk3.setText(U.get(2)+"");
    

    希望这会有所帮助.......

    【讨论】:

    • @EgaSuhandianto 哦!如果这对您有帮助,请支持接受答案。谢谢。
    • Error java lang, index 1 size 0.
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-27
    • 1970-01-01
    • 2011-05-03
    • 2019-08-01
    • 2018-02-08
    • 1970-01-01
    相关资源
    最近更新 更多