gpt4 book ai didi

java - JAVA数组不保存值

转载 作者:行者123 更新时间:2023-12-02 13:22:54 25 4
gpt4 key购买 nike

祝大家度过愉快的一天。

我的代码有问题,我试图将一些值保存到数组中,数组位置由计数器移动,但是当我尝试保存这些值时,它在控制台上显示错误。

这是代码。

        if(i<6){
i++;
jTxtEstrategia.setText(String.valueOf(i));


A = (Math.random() * 8);
B = (Math.random() * 8);
C = (Math.random() * 8);
D = (Math.random() * 8);

jTxtA.setText(""+(int)A);
jTxtB.setText(""+(int)B);
jTxtC.setText(""+(int)C);
jTxtD.setText(""+(int)D);



int[] j = new int[i];
int[] k = new int[i];
int[] l = new int[i];
int[] m = new int[i];

j[i]=(int) A;
k[i]=(int)B;
l[i]=(int)C;
m[i]=(int)D;

System.out.println("Estrategia "+i+"\n Sucursal A: "+j[i]+"\n Sucursal B: "+k[i]+"Sucursal C: "+l[i]+"\n Sucursal C: "+m[i]);
}else{
jButtCalc.setEnabled(false);
}

目标是保存这些值以保存一些代码并稍后进行比较。

非常感谢您的宝贵时间,

问候(抱歉我的英语不好)。

最佳答案

我假设您遇到 ArrayOutOfBounds 异常?
假设 i 的值为 1。然后,您将创建一个大小为 1 的数组,但访问其第二个元素,如下所示:

            int[] j = new int[i];
...
j[i]=(int) A;

您需要在循环/循环/for/while 之前使用正确的元素数量定义数组。例如:

int[] j = new int[N]; // where N is 6, or some other number?...
...
while (...) {
if(i<6){
i++;
...

但理想情况下,您应该以更常见的方式定义循环,例如:

for (int i = 0; i < 6; i++) {
...

关于java - JAVA数组不保存值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43502945/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com