这段代码有什么问题?它说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
答案 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);
}
}
该异常将阻止您的程序崩溃,但它不会搞砸您的“总和”。所以你可以再给一个其他值,继续......