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ğ:你在哪里使用。获取?为什么这行不通?