这段代码有什么问题?它说无法从 String 转换为 int
,但我已经转换了它。
public static void main(String[] args) {
String x = JOptionPane.showInputDialog(null, "Hur många värden haver du?");
int i = Integer.parseInt(x);
for (int y = 0; i >= y; y++) {
String z = JOptionPane.showInputDialog(null, "Skriv in värdet");
int sum = Integer.parseInt(z);
sum = (sum + z);
}
}
最佳答案
否,您已将 z
转换为 int
并将结果存储在 sum
中,因此 sum
是
值,但 z
的 >intz
仍然是 String
类型的变量。您在这里尝试执行的操作与将总和乘以二相同。
但我假设您想要对所有输入值求和,因此您可以执行 sum = (sum + Integer.parseInt(z));
并放置 sum
在循环之外,否则您将在每次迭代时初始化它。另一个错误是,如果您输入x
,它将迭代x + 1
次,因为i >= y
。下面的修复版本。
String x = JOptionPane.showInputDialog(null, "Hur många värden haver du?");
int i = Integer.parseInt(x);
int sum = 0;
for (int y = 0; i > y; y++)
{
String z = JOptionPane.showInputDialog(null, "Skriv in värdet");
sum = (sum + Integer.parseInt(z));
}
System.out.println(sum);
<小时/>
Input: 3 (number of iterations)
Input: 7
Input: 5
Input: 6
Output: 18
关于Java:无法从 String 转换为 int,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32396578/