Ale*_*ean 2 java ide algorithm math multiplication
我正在尝试创建一个程序,用户可以在其中输入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));
}
}
Run Code Online (Sandbox Code Playgroud)
num1并且num2是String.
所以当你写作时,num1+num2你会得到他们串联的结果.
实际上,您不使用Integer.parseInt();结果.
相反,要添加两个int值:
int result = Integer.parseInt(num1) + Integer.parseInt(num2);
Run Code Online (Sandbox Code Playgroud)
并显示result:
JOptionPane.showMessageDialog(null,"Your answer is " + result);
Run Code Online (Sandbox Code Playgroud)
这里:
num1=JOptionPane.showInputDialog(null,"Enter a number");
num2=JOptionPane.showInputDialog(null,"Enter another number");
Run Code Online (Sandbox Code Playgroud)
选项窗格返回字符串,您似乎理解的是,然后您去:
ans=Integer.parseInt(num1);
ans=Integer.parseInt(num2);
Run Code Online (Sandbox Code Playgroud)
但是你+在字符串结果上使用运算符:
... +(num1+num2));
Run Code Online (Sandbox Code Playgroud)
但是+对于字符串连接它们.
因此,您需要添加数字,而不是"添加"字符串,如:
int1FromUser = Integer.parseInt(num1);
int2FromUser = Integer.parseInt(num2);
int sum = int1FromUser + int2FromUser;
Run Code Online (Sandbox Code Playgroud)
这就是全部.
(并且我自由地使用稍微更好的命名 - 请记住使用变量名来说明他们所指向的东西的含义)
你正在使用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);
}
Run Code Online (Sandbox Code Playgroud)