【问题标题】:error: incompatible types: String cannot be converted to int in Java [duplicate]错误:不兼容的类型:Java 中的字符串无法转换为 int [重复]
【发布时间】:2018-01-31 07:33:29
【问题描述】:

我正在尝试从 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

【问题讨论】:

    标签: java


    【解决方案1】:
    int n1 = args[1];
    int n2 = args[2]; 
    

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

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

    例如:

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

    其他任务也一样。

    【讨论】:

    • 谢谢,这正是我想要的
    猜你喜欢
    • 2018-07-05
    • 1970-01-01
    • 2014-05-25
    • 1970-01-01
    • 2016-09-05
    • 1970-01-01
    • 2017-10-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多