Java 如何找到字符串变量中两个数字的和?

Java 如何找到字符串变量中两个数字的和?,java,Java,在这个代码片段中,我不能对a和b求和: String a = "10"; String b = "20"; JOptionPane.showMessageDialog(null,a+b); 由于a和b定义为String,因此此代码将串接字符串并输出10+20=1020 我如何让它将a和b相加并输出10+20=30?试试:Integer.parseInt(a)+Integer.parseInt(b) 试试:Integer.parseInt(a)+Integer.parseInt(b) Java

在这个代码片段中,我不能对
a
b
求和:

String a = "10";
String b = "20"; 
JOptionPane.showMessageDialog(null,a+b);
由于
a
b
定义为
String
,因此此代码将串接字符串并输出
10+20=1020


我如何让它将
a
b
相加并输出
10+20=30

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


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


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

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

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

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

因为你想把它们加在一起。您必须将它们解析为一个整数,其工作原理如下:

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

求和+concats字符串,不求和。

因为您要求和字符串,它们不会相加。您必须将它们解析为一个整数,其工作原理如下:

Integer.parseInt(a) + Integer.parseInt(b)
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);



}
总的来说,+concats字符串,而不是将它们相加

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);



}
这是工作


整数包装类的构造函数采用表示数字的字符串参数

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=”“+结果//或结果_2=“”+结果_1;两者都可以转换为字符串格式

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

整数包装类具有构造函数,该构造函数接受表示数字的字符串参数

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=”“+结果//或结果_2=“”+结果_1;两者都可以转换为字符串格式

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

我们可以将字符串更改为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));
    }
}

我们可以将字符串更改为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));
    }
}

使用BigInteger类执行大量长度内的字符串加法操作

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

使用BigInteger类执行大量长度内的字符串加法操作

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

由于+用于连接字符串,所以不能使用它添加两个包含数字的字符串。但是减法对这样的字符串非常有效。因此,您可以使用此基本数学概念来实现:

a-(-b)

由于+用于连接字符串,所以不能使用它添加两个包含数字的字符串。但是减法对这样的字符串非常有效。因此,您可以使用此基本数学概念来实现:

a-(-b)
Integer.parseInt()用于将字符串转换为整数。为了执行两个字符串的求和,首先需要将字符串转换为整数,然后需要执行求和,否则它只会连接两个字符串,而不是执行求和

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

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

Integer.parseInt()用于将字符串转换为整数。为了执行两个字符串的求和,首先需要将字符串转换为整数,然后需要执行求和,否则它只会连接两个字符串而不是执行求和

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


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

我必须使用
。获取调用a和b的代码,这样它就不起作用了。@切利克·Gümüşdağ:你在哪里使用
。获取
?为什么这样不行?我必须使用
。获取调用a和b的代码,这样它就不起作用了。@切利克·Gümüşdağ:你在哪里使用
。获取
?为什么这行不通?