错误:不兼容的类型:String无法在Java中转换为int

sac*_*bey 2 java

我试图从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)

Sur*_*tta 5

int n1 = args[1];
int n2 = args[2]; 
Run Code Online (Sandbox Code Playgroud)

您正在试图分配Stringint直接.不,那不行.

argsString数组,它包含字符串.因此,当您尝试将其中的值分配给整数变量时,您应该进行转换.

例如:

int n1 = Integer.parseInt(args[1]);
Run Code Online (Sandbox Code Playgroud)

与其他作业相同.