class Compound {
public static void main(String args[]) {
int P = Integer.parseInt(args[0]);
int R = Integer.parseInt(args[1]);
int T = Integer.parseInt(args[2]);
int Ci, i, A = 1, Pa = P;
for (i = 1; i <= T; i++) {
Ci = P * R / 100;
P = P + Ci;
A = P + Ci;
}
Ci = A - Pa;
System.out.println(Ci + " is the CinAmount=" + A);
return 1;
}
}
它引发以下异常:
线程"main"中的异常 java.lang.ArrayIndexOutOfBoundsException: 0 at Compound.main(JavaApplication1.java:3( C:\Users\Dell\AppData\Local\NetBeans\Cache\8.2\executor-snippets\run.xml:53: Java 返回: 1 生成失败(总时间:2 秒(
这就是发生的事情 请告诉错误的原因和适当的代码来避免它。以上是一个简单的复利程序
您的程序正在崩溃,因为您在没有 3 个参数的情况下调用它,并且只是假设它们在那里。
在处理它们之前,您需要确保实际拥有所有三个参数。 现在将您main
中的代码放在一个函数中,并在有 3 个参数时调用它。
public static void main(String args[]){
Scanner in = new Scanner(System.in);
System.out.println("Enter P");
int P = in.nextInt();
System.out.println("Enter R");
int R = in.nextInt();
System.out.println("Enter T");
int T = in.nextInt();
getCi(P, R, T);
}
public static void getCi(int P, int R, int T) {
int Ci, i, A=1, Pa=P;
for(i=1;i<=T;i++){
Ci=P*R/100;
P=P+Ci;
A=P+Ci;
}
Ci=A-Pa;
System.out.println(Ci+" is the CinAmount="+A);
}