我使用代码保存了一些用户输入;
String message3 = console.nextLine();
现在我想将变量message3乘以一个固定数字(比如说5.2) 并再次在控制台上显示该结果。 message3将始终是一个数字
我尝试过使用代码:
String message4 = message3 * 3;
但它出现了以下错误:对于参数类型String,int,未定义operator *。我知道当我删除message3并将其替换为有效的数字时。那么如何让变量message3与另一个数字相乘呢?我是否必须重命名message3?感谢
答案 0 :(得分:6)
您必须将该String转换为原始数字。
你可以用
做到这一点int integerNumber = Integer.parseInt(message3);
或
double doubleNumber = Double.parseDouble(message3);
如果字符串不包含可转换的数字,则会抛出异常。
答案 1 :(得分:1)
您应首先转换类型以使乘法成为可能:
String message4 = Double.toString(Double.parseDouble(message3) * 3);
作为非数字类型,*
运算符对String
没有任何意义。
答案 2 :(得分:0)
您需要将message3
转换为整数才能对乘法有效:
int result = Integer.parseInt(message3) * 3;
然后您可以按如下方式将其分配给字符串:
String message4 = "" + result; // or just Integer.toString(result);
答案 3 :(得分:0)
您必须先将字符串转换为整数。使用java api,您可以使用parseInt(String)或使用如下所示的Integer(包装类)构造函数来实现此目的
approach1
String num="4";
Integer.parseInt(num)*10;
It throws Number format exception if the string is a non parsable int
approach2
String num="4";
Integer i = new Integer(num)
答案 4 :(得分:0)
如果输入是整数,您可以这样做:
String message3 = console.nextLine();
Integer myNumber = Integer.valueOf(message3) * 3;
或
int myNumber = Integer.parseInt(message3) * 3;
使用适当的类型进行您想要进行的操作。