添加两个数字而不是组合
Add two numbers instead of combining
我正在尝试创建一个程序,用户可以在其中输入 2 个数字,该程序将取这 2 个数字并将它们相乘以获得答案。但是,对于这个特定示例,我只是想从用户那里获取 2 个数字,我希望 Java 将它们相加。例如 1+1=2
,而不是 1+1=11
。
我的代码:
import javax.swing.JOptionPane;
public class MultiplicationTables {
public static void main(String args[]) {
//declare variables
String num1;
String num2;
int ans=0;
num1=JOptionPane.showInputDialog(null,"Enter a number");
num2=JOptionPane.showInputDialog(null,"Enter another number");
ans=Integer.parseInt(num1);
ans=Integer.parseInt(num2);
JOptionPane.showMessageDialog(null,"Your answer is " + (num1+num2));
}
}
此处:
num1=JOptionPane.showInputDialog(null,"Enter a number");
num2=JOptionPane.showInputDialog(null,"Enter another number");
选项面板returns字符串,你好像明白了什么,跟着你走:
ans=Integer.parseInt(num1);
ans=Integer.parseInt(num2);
但随后您在 字符串 结果上使用了 +
运算符:
... +(num1+num2));
但是 +
对于字符串 连接 它们。
因此,您要添加 数字 而不是 "adding" 字符串,如:
int1FromUser = Integer.parseInt(num1);
int2FromUser = Integer.parseInt(num2);
int sum = int1FromUser + int2FromUser;
仅此而已。
(我自由地使用稍微好一点的命名 - 请记住使用变量名 说 它们指向的东西的含义)
+
是在使用Integer
或int
时附加使用的,它也用于连接两个String
。在您的情况下,num1
和 num2
是 String
,因此它连接了结果。因此,您必须更改代码以反映以下更改:
ans = Integer.parseInt(num1);
ans += Integer.parseInt(num2); // add the result of parseInt to ans
//--^---------------------------
JOptionPane.showMessageDialog(null,"Your answer is " + ans ); // another one
或者:
JOptionPane.showMessageDialog(null,"Your answer is " + (Integer.parseInt(num1) + Integer.parseInt(num2)));
num1
和 num2
是 String
。
因此,当您编写 num1+num2
时,您会得到它们的串联结果。
事实上,您没有使用 Integer.parseInt();
结果。
相反,添加两个 int
值:
int result = Integer.parseInt(num1) + Integer.parseInt(num2);
并显示result
:
JOptionPane.showMessageDialog(null,"Your answer is " + result);
你做错了。您在最后添加字符串并忽略已解析的整数。
而且你对两个输入使用相同的整数变量。
所以应该是
int ans1=0;
int ans2=0;
...
ans1=Integer.parseInt(num1);
ans2=Integer.parseInt(num2);
最后
JOptionPane.showMessageDialog(null,"Your answer is " +(ans1+ans2));
您正在使用 num1
和 num2
,它们是字符串而不是 ans
,后者应该是您作为 int
的总和。
此外,您没有将 2 个值正确添加到 ans
.
public static void main(String args[]){
String num1 = JOptionPane.showInputDialog(null,"Enter a number");
String num2 = JOptionPane.showInputDialog(null,"Enter another number");
int ans = Integer.parseInt(num1);
ans += Integer.parseInt(num2);
JOptionPane.showMessageDialog(null,"Your answer is " + ans);
}
我建议您将方法的最后一行更改为:
JOptionPane.showMessageDialog(null,"Your answer is " + (Integer.parseInt(num1) + Integer.parseInt(num2)));
这样,您根本不需要 "ans" 变量(在您的代码中它实际上什么都不做)。相反,您可以简单地解析 int 值并将它们添加到您正在编写消息的同一行。
如果你想使用 ans,试试这个:
ans = Integer.parseInt(num1) + Integer.parseInt(num2);
然后:
JOptionPane.showMessageDialog(null,"Your answer is " + ans);
我正在尝试创建一个程序,用户可以在其中输入 2 个数字,该程序将取这 2 个数字并将它们相乘以获得答案。但是,对于这个特定示例,我只是想从用户那里获取 2 个数字,我希望 Java 将它们相加。例如 1+1=2
,而不是 1+1=11
。
我的代码:
import javax.swing.JOptionPane;
public class MultiplicationTables {
public static void main(String args[]) {
//declare variables
String num1;
String num2;
int ans=0;
num1=JOptionPane.showInputDialog(null,"Enter a number");
num2=JOptionPane.showInputDialog(null,"Enter another number");
ans=Integer.parseInt(num1);
ans=Integer.parseInt(num2);
JOptionPane.showMessageDialog(null,"Your answer is " + (num1+num2));
}
}
此处:
num1=JOptionPane.showInputDialog(null,"Enter a number");
num2=JOptionPane.showInputDialog(null,"Enter another number");
选项面板returns字符串,你好像明白了什么,跟着你走:
ans=Integer.parseInt(num1);
ans=Integer.parseInt(num2);
但随后您在 字符串 结果上使用了 +
运算符:
... +(num1+num2));
但是 +
对于字符串 连接 它们。
因此,您要添加 数字 而不是 "adding" 字符串,如:
int1FromUser = Integer.parseInt(num1);
int2FromUser = Integer.parseInt(num2);
int sum = int1FromUser + int2FromUser;
仅此而已。
(我自由地使用稍微好一点的命名 - 请记住使用变量名 说 它们指向的东西的含义)
+
是在使用Integer
或int
时附加使用的,它也用于连接两个String
。在您的情况下,num1
和 num2
是 String
,因此它连接了结果。因此,您必须更改代码以反映以下更改:
ans = Integer.parseInt(num1);
ans += Integer.parseInt(num2); // add the result of parseInt to ans
//--^---------------------------
JOptionPane.showMessageDialog(null,"Your answer is " + ans ); // another one
或者:
JOptionPane.showMessageDialog(null,"Your answer is " + (Integer.parseInt(num1) + Integer.parseInt(num2)));
num1
和 num2
是 String
。
因此,当您编写 num1+num2
时,您会得到它们的串联结果。
事实上,您没有使用 Integer.parseInt();
结果。
相反,添加两个 int
值:
int result = Integer.parseInt(num1) + Integer.parseInt(num2);
并显示result
:
JOptionPane.showMessageDialog(null,"Your answer is " + result);
你做错了。您在最后添加字符串并忽略已解析的整数。
而且你对两个输入使用相同的整数变量。
所以应该是
int ans1=0;
int ans2=0;
...
ans1=Integer.parseInt(num1);
ans2=Integer.parseInt(num2);
最后
JOptionPane.showMessageDialog(null,"Your answer is " +(ans1+ans2));
您正在使用 num1
和 num2
,它们是字符串而不是 ans
,后者应该是您作为 int
的总和。
此外,您没有将 2 个值正确添加到 ans
.
public static void main(String args[]){
String num1 = JOptionPane.showInputDialog(null,"Enter a number");
String num2 = JOptionPane.showInputDialog(null,"Enter another number");
int ans = Integer.parseInt(num1);
ans += Integer.parseInt(num2);
JOptionPane.showMessageDialog(null,"Your answer is " + ans);
}
我建议您将方法的最后一行更改为:
JOptionPane.showMessageDialog(null,"Your answer is " + (Integer.parseInt(num1) + Integer.parseInt(num2)));
这样,您根本不需要 "ans" 变量(在您的代码中它实际上什么都不做)。相反,您可以简单地解析 int 值并将它们添加到您正在编写消息的同一行。
如果你想使用 ans,试试这个:
ans = Integer.parseInt(num1) + Integer.parseInt(num2);
然后:
JOptionPane.showMessageDialog(null,"Your answer is " + ans);