Java 如何将两个字符串转换为整数,使数学正确?
我想要5分的结果,但我得到23分Java 如何将两个字符串转换为整数,使数学正确?,java,string,integer,Java,String,Integer,我想要5分的结果,但我得到23分 public class Assignment3 { public static void main(String args[]) { String str1 = "2"; String str2 = "3"; System.out.println("Result:" + (str1+str2) ); } } 你需要使用。“+”运算符在Java中用于连接两个字符串以及添加两个数字。因此,您必须将字符串转换为整数,才能使用“+”
public class Assignment3
{
public static void main(String args[])
{
String str1 = "2";
String str2 = "3";
System.out.println("Result:" + (str1+str2) );
}
}
你需要使用。“+”运算符在Java中用于连接两个字符串以及添加两个数字。因此,您必须将字符串转换为整数,才能使用“+”运算符添加它们
编辑:
还有,如果您使用的是十进制数,那么这个呢
class Assignment3
{
public static void main(String args[])
{
String str1 = "2";
String str2 = "3";
System.out.println("Result:" + (Integer.parseInt(str1)+Integer.parseInt(str2)) );
}
}
如果希望对整数进行算术运算,则需要告诉代码解析这些值。目前它只使用字符串连接运算符,因为两个操作数(
str1
和str2
)都是字符串表达式
试试这个:
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”的值而不是数字。str1
和str2
是String
对象。+
操作是为String
对象定义的,其工作方式类似于这些字符串的串联:
"one" + "two" -> "onetwo"
"1" + "2" -> "12"
如果需要算术+
运算,则需要数字类型(int、float等)。在这种情况下,必须将字符串解析为数值,如:
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";
System.out.println("Result:" + (Integer.parseInt(str1)+Integer.parseInt(str2)) );
}
}
@arya:是的,变量名无关紧要。@arya:如果你一直使用它,
i
,它会起作用的-但是如果你没有看到你到底做了什么,很难说你做错了什么。我已经失去了我所做的,因为我替换了它。无论如何,非常感谢:
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)) );
}
}