添加两个数字而不是组合

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)

dav*_*xxx 8

num1并且num2String.
所以当你写作时,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)


Gho*_*ica 6

这里:

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)

这就是全部.

(并且我自由地使用稍微更好的命名 - 请记住使用变量名来说明他们所指向的东西的含义)


Ben*_*aye 5

你正在使用num1num2哪些是字符串而不是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)