2010-11-08 68 views
3

我想要的结果NO:5,但我没有得到任何:23如何将两个字符串转换为整数,使数学正确?

public class Assignment3 
{ 
    public static void main(String args[]) 
    { 
    String str1 = "2"; 
    String str2 = "3"; 

    System.out.println("Result:" + (str1+str2)); 
    } 
} 
+0

相关:http://stackoverflow.com/questions/5585779/how-to-convert-string-to-int-in-java – 2013-01-05 19:51:08

回答

0

您需要使用parseInt()。在Java中使用“+”运算符连接两个字符串以及添加两个数字。所以你必须将字符串转换为一个整数才能使用“+”运算符添加它们。

编辑:

还有parseFloat()parseDouble()如果您正在使用的十进制数字

0

这个怎么样的工作?

class Assignment3 
{ 
    public static void main(String args[]) 
    { 
    String str1 = "2"; 
    String str2 = "3"; 

    System.out.println("Result:" + (Integer.parseInt(str1)+Integer.parseInt(str2))); 
    } 
} 
+0

非常uniq的答案感谢.... – arya 2010-11-08 07:46:31

10

如果你想算术在整数上完成,你需要告诉你的代码来解析这些值。目前它只是使用字符串连接运算符,因为两个操作数(str1str2)都是字符串表达式。

试试这个:

public class Assignment3 
{ 
    public static void main(String args[]) 
    { 
    String str1 = "2"; 
    String str2 = "3"; 

    int num1 = Integer.parseInt(str1); 
    int num2 = Integer.parseInt(str2); 

    System.out.println("Result:" + (num1 + num2)); 
    } 
} 

注意,当你使用“真实”数据(而不是硬编码值,这肯定会在这里有效),Integer.parseInt将抛出NumberFormatException如果你给它的东西像“x”而不是数字。

+0

谢谢,我已经做了这样的事情,但我把我而不是数字... – arya 2010-11-08 07:43:03

+0

@arya:是的,变量名称是无关紧要的。 – 2010-11-08 07:47:47

+0

,但它不适用于(i)它与你说的num做的...... – arya 2010-11-08 07:56:12

3

str1str2String对象。该+操作为String对象的定义,就像这些字符串的串联:

"one" + "two" -> "onetwo" 
"1" + "2" -> "12" 

如果你需要一个算术+操作,那么你需要的数值类型(整数,浮点,...)。在你的情况下,你必须解析琴弦数值,如:

String str1 = "2"; 
int int1 = Integer.parseInt(str1); // int1 is now 2 

public class Assignment3 
{ 
    public static void main(String args[]) 
    { 
    String str1 = "2"; 
    String str2 = "3"; 

    // `+` operation on Strings 
    System.out.println("Concatenation:" + (str1+str2)); 

    // `+` operation on integers 
    System.out.println("Addition:" + (Integer.parseInt(str1)+Integer.parseInt(str2))); 
    } 
} 
0

你对待数字的字符串作为文本字符串,但实际上你需要解析Integer的字符串。

public class Assignment3 
{ 
    public static void main(String args[]) 
    { 
    String str1 = "2"; 
    String str2 = "3"; 

    System.out.println("Result:" + (Integer.parseInt(str1)+Integer.parseInt(str2))); 
    } 
}