在此代码片段中,我无法求和a
和b
:
String a = "10";
String b = "20";
JOptionPane.showMessageDialog(null,a+b);
由于a
和b
被定义为String
,因此此代码将连接字符串并输出10+20=1020
。
如何将其与a
和b
以及输出10+20=30
相加?
答案 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));