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

时间:2018-01-31 07:33:30

标签: 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);


    }
}

错误:

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

1 个答案:

答案 0 :(得分:5)

int n1 = args[1];
int n2 = args[2]; 

您正尝试直接将String分配给int。不,那不行。

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

例如:

int n1 = Integer.parseInt(args[1]);

与其他作业相同。