我正在尝试从cmd获取参数并将该参数传递给方法Fibonacci,但是我收到了一些错误。谁能告诉我为什么我会收到这个错误?
谢谢。
代码:
class fibo {
static void Fibonacci(int Total,int n1,int n2){
if(Total > 1){
int sum = n1 + n2;
System.out.print(sum + " ");
n1 = n2;
n2 = sum;
--Total;
Fibonacci(Total,n1,n2);
}
}
}
class main{
public static void main(String args[]){
fibo f = new fibo();
System.out.print(0 + " ");
System.out.print(1 + " ");
int Total = args[0];
int n1 = args[1];
int n2 = args[2];
f.Fibonacci(Total,n1,n2);
}
}
错误:
fibonacci.java:26: error: incompatible types: String cannot be converted to int
int Total = args[0];
fibonacci.java:27: error: incompatible types: String cannot be converted to int
int n1 = args[1];
fibonacci.java:28: error: incompatible types: String cannot be converted to int
int n2 = args[2];
3 errors
答案 0 :(得分:5)
int n1 = args[1];
int n2 = args[2];
您正尝试直接将String
分配给int
。不,那不行。
args
是String
数组,它包含字符串。因此,当您尝试将其中的值分配给整数变量时,您应该进行转换。
例如:
int n1 = Integer.parseInt(args[1]);
与其他作业相同。