Java:无法从String转换为int

时间:2015-09-04 11:06:20

标签: java string parsing

这段代码有什么问题?它说sub MySub() On Error GoTo ErrorHandling Source_File_Path = "G:\" & Source_File_name & ".csv" Open Source_File_Path For Input As #1 On Error GoTo 0 . . Exit sub ErrorHandling: Worksheets("REPORT_VIEW").Activate MsgBox "FILE NOT FOUND" end sub ,但我已经转换了它。

cannot convert from String to int

4 个答案:

答案 0 :(得分:4)

您尚未将z转换为int并将结果存储在sum中,因此sum的{​​{1}}值为int,但{ {1}}仍然是z类型的变量。你在这里尝试做的就是将总和乘以2。

但是我想你要对所有输入值求和,这样你就可以z并将String的声明放在循环之外,否则你会在每次迭代时初始化它。另一个错误是,如果您输入sum = (sum + Integer.parseInt(z));,由于sum,它会迭代x次。固定版本如下。

x + 1
i >= y

答案 1 :(得分:1)

Java不会在类型之间进行自动转换。因此,您无法使用数字添加字符串并期望它可以进行数学运算。

Java的作用是将原始类型自动装箱到对象。如果在字符串连接中使用它,它将自动尝试在对象上调用toString()。

正如Reimeus写的那样。在数学

中开始使用之前,需要将String转换为数字

答案 2 :(得分:0)

无法从String转换为int

  sum=(sum+z) // int+string // this was the problem

将z更改为int as:

    int iz= Integer.parseInt(z);
    sum = (sum + iz);

答案 3 :(得分:0)

int sum = 0;
for (int y = 0; i >= y; y++) {
    try{
         String z = JOptionPane.showInputDialog(null, "Skriv in värdet");
         sum = (sum + Integer.parseInt(z));
    } catch (Exception e){
         System.out.println("This was not an Integer: " + z);
    }
}

该异常将阻止您的程序崩溃,但它不会搞砸您的“总和”。所以你可以再给一个其他值,继续......