我试图从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);
}
}
Run Code Online (Sandbox Code Playgroud)
错误:
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
Run Code Online (Sandbox Code Playgroud)
int n1 = args[1];
int n2 = args[2];
Run Code Online (Sandbox Code Playgroud)
您正在试图分配String到int直接.不,那不行.
args是String数组,它包含字符串.因此,当您尝试将其中的值分配给整数变量时,您应该进行转换.
例如:
int n1 = Integer.parseInt(args[1]);
Run Code Online (Sandbox Code Playgroud)
与其他作业相同.