저는 돈을 백분율 (즉, $ 1000 * .04 = $ 40)으로 계산하고 그 결과 (즉, $ 40)를 인쇄하려고합니다. 나는 정보를 담고있는 2D 문자열 배열을 가지고있다. 먼저 첫 번째 for 루프에 표시된 특정 요소에 따라 각 행의 백분율을 인쇄하려고합니다. 그런 다음 돈 시간의 결과를 두 번째 for 루프의 백분율로 표시하고 싶습니다. 결과를 생성하기 위해 돈을 곱하는 소수로 표시되는 1D Double 배열이 있습니다. 이 오류가 계속 발생합니다 -> java.lang.ArrayIndexOutOfBoundsException : 3
그래서 1D Double 배열에 문제가있는 것으로 판단되지만 무엇을 모르겠습니다.자바 배열 문제 곱하기 결과 표시
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]);
}
으로 선언하십시오. 배열의 세 번째 요소에 액세스하고 있습니다. 'array'의 인덱스는'0'으로 시작합니다. –