java数组显示乘法结果时出现问题
我试图计算金钱乘以百分比(即$1000*.0.04=$40),然后打印出结果(即$40)。我有一个2D字符串数组保存信息。首先,我想打印每行的百分比,这取决于第一个for循环中显示的某些因素。然后我想在第二个for循环中显示货币时间百分比的结果。我有一个1D双数组,它以小数形式显示百分比,它将与货币相乘以产生结果。我不断收到此错误-->java.lang.ArrayIndexOutOfBoundsException:3java数组显示乘法结果时出现问题,java,arrays,for-loop,multidimensional-array,parseint,Java,Arrays,For Loop,Multidimensional Array,Parseint,我试图计算金钱乘以百分比(即$1000*.0.04=$40),然后打印出结果(即$40)。我有一个2D字符串数组保存信息。首先,我想打印每行的百分比,这取决于第一个for循环中显示的某些因素。然后我想在第二个for循环中显示货币时间百分比的结果。我有一个1D双数组,它以小数形式显示百分比,它将与货币相乘以产生结果。我不断收到此错误-->java.lang.ArrayIndexOutOfBoundsException:3 所以我认为1D双数组有问题,但我不知道是什么 FileReader
所以我认为1D双数组有问题,但我不知道是什么
FileReader fr = new FileReader("input.txt");
BufferedReader br = new BufferedReader(fr);
//2D array
String[][] input = new String[15][4];
//1D array
Doubt[] in = new Double[3];
for(int row=0; row<input.length; row++){
int a = Integer.parseInt(input[row][1]);
int b = Integer.parseInt(input[row][2]);
double s = Double.parseDouble(input[row][3]);
if(a>=50 && b==1){
System.out.println(input[row][0] + "\t\t2%");
in[row]=0.02;
}
if(a>=25 && b==1){
System.out.println(input[row][0] + "\t\t4%");
in[row]=0.04;
}
if((a>=15 && b==1){
System.out.println(input[row][0] + "\t\t6%");
in[row]=0.06;
}
}
for(int row=0; row<input.length; row++){
int a = Integer.parseInt(input[row][1]);
int b = Integer.parseInt(input[row][2]);
double s = Double.parseDouble(input[row][3]);
System.out.println(input[row][0] + "\t\t" + s*in[row]);
}
FileReader fr=newfilereader(“input.txt”);
BufferedReader br=新的BufferedReader(fr);
//二维阵列
字符串[]输入=新字符串[15][4];
//一维阵列
怀疑[]在=新的双[3];
对于(int行=0;行=50&&b==1){
System.out.println(输入[行][0]+“\t\t2%”;
在[行]中=0.02;
}
如果(a>=25&&b==1){
System.out.println(输入[行][0]+“\t\t4%”;
在[行]中=0.04;
}
如果((a>=15&&b==1){
System.out.println(输入[行][0]+“\t\t6%”;
在[行]中=0.06;
}
}
对于(int row=0;row这可能是因为[]
数组中的大小为3。但是对于row=3
这个in[row]=0.06;
语句将抛出java.lang.ArrayIndexOutOfBoundsException
因此,将[]
中的声明为Double[]in=new Double[input.length];
您正在访问数组中的第三个元素。请注意,array
的索引以0
开头。