乘以字符串变量

时间:2012-09-17 13:31:24

标签: java

我使用代码保存了一些用户输入;

String message3 = console.nextLine();

现在我想将变量message3乘以一个固定数字(比如说5.2) 并再次在控制台上显示该结果。 message3将始终是一个数字

我尝试过使用代码:

String message4 = message3 * 3;

但它出现了以下错误:对于参数类型String,int,未定义operator *。我知道当我删除message3并将其替换为有效的数字时。那么如何让变量message3与另一个数字相乘呢?我是否必须重命名message3?感谢

5 个答案:

答案 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;

使用适当的类型进行您想要进行的操作。