如何找到String变量中两个数字的总和?

时间:2011-04-08 10:02:19

标签: java

在此代码片段中,我无法求和ab

String a = "10";
String b = "20"; 
JOptionPane.showMessageDialog(null,a+b);

由于ab被定义为String,因此此代码将连接字符串并输出10+20=1020

如何将其与ab以及输出10+20=30相加?

9 个答案:

答案 0 :(得分:6)

Java为Primitive Types提供解析方法。因此,根据您的输入,您可以使用Integer.parseInt,Double.parseDouble或其他。

String result = "";
try{
 int value = Integer.parseInt(a)+Integer.parseInt(b);
 result = ""+value;
}catch(NumberFormatException ex){
 //either a or b is not a number
 result = "Invalid input";
}
JOptionPane.showMessageDialog(null,result);

答案 1 :(得分:3)

因为你想连接字符串,所以不会加起来。您必须将它们解析为Integer,其工作方式如下:

Integer.parseInt(a) + Integer.parseInt(b)

总结一下+ concats Strings并没有添加它们。

答案 2 :(得分:1)

尝试:Integer.parseInt(a)+Integer.parseInt(b)

 String a= txtnum1.getText();
 String b= txtnum2.getText(); 
 JOptionPane.showMessageDialog(null,Integer.parseInt(a)+Integer.parseInt(b));

答案 3 :(得分:1)

使用BigInteger类进行大量的字符串添加操作。

BigInteger big = new BigInteger("77777777777777777777888888888888888888888888888856666666666666666666666666666666");
        BigInteger big1 = new BigInteger("99999999999999995455555555555555556");
        BigInteger big3 =   big.add(big1);

答案 4 :(得分:0)

public void actionPerformed(ActionEvent arg0) 
{
    String a= txtnum1.getText(); 
    String b= txtnum2.getText(); 
    String result = "";
    try{
    int value = Integer.parseInt(a)+Integer.parseInt(b);
     result = ""+value;
    }catch(NumberFormatException ex){

     result = "Invalid input";
    }
    JOptionPane.showMessageDialog(null,result);



}

这是工作

答案 5 :(得分:0)

整数包装类有一个构造函数,它接受表示数字的String参数。

String a= txtnum1.getText();//a="100"
String b= txtnum2.getText();//b="200" 

Integer result;
int result_1;
String result_2;

try{
result = new Integer(a) + new Integer(b); // here variables a and b are Strings representing numbers. If not numbers, then new Integer(String) will throw number format exception.

int result_1=result.intValue();//convert to primitive datatype int if required.

result_2 = ""+result; //or result_2 = ""+result_1; both will work to convert in String format

}catch(NumberFormatException ex){
//if either a or b are Strings not representing numbers
result_2 = "Invalid input";
}

答案 6 :(得分:0)

我们可以将字符串更改为BigInteger,然后将其值相加。

import java.util.*;
import java.math.*;
class stack
{
    public static void main(String args[])
    {
        Scanner s=new Scanner(System.in); 
        String aa=s.next();
        String bb=s.next();
        BigInteger a=new BigInteger(aa);
        BigInteger b=new BigInteger(bb);
        System.out.println(a.add(b));
    }
}

答案 7 :(得分:0)

由于+用于连接字符串,因此不能使用它添加两个包含数字的字符串。但是减法在这样的字符串上工作得很好。因此,您可以使用这个基本的数学概念来实现这一点:

a-(-b)

答案 8 :(得分:0)

Integer.parseInt()用于将String转换为Integer。为了执行两个字符串的总和,首先需要将字符串转换为Integers,然后需要执行sum运算,否则它只会连接两个字符串而不是执行sum。 / p>

字符串a =“ 10”; 字符串b =“ 20”;

JOptionPane.showMessageDialog(null,Integer.parseInt(a)+ Integer.parseInt(b));