【问题标题】:How to multiply string and int [closed]如何将字符串和int相乘[关闭]
【发布时间】:2014-06-15 18:19:56
【问题描述】:

所以我有这个:

String banana = "5";
int apple = 7;

result = banana * apple;

我得到这个错误:

not a statement bad operationnumber types for binary operator '' 第一种类型:字符串第二种类型:int*

我该如何解决这个问题?

【问题讨论】:

  • 是的错误它说正确,你不能乘以字符串和整数。您需要使用Integer.parseInt() 将String 转换为整数才能进行乘法运算。
  • @PradeepSimha - 谢谢
  • 您能详细说明一下您的代码吗?就像香蕉和苹果的类型是什么,它们是如何启动的等等。这个问题真的没有答案,因为如果你确实将香蕉声明为字符串,苹果声明为整数,那么你不能将它们相乘
  • 你真的在用banana * apple做任何事吗?即使它们都是int,如果你将它们相乘但不将结果分配给任何东西或用它做任何有用的事情,你会得到not a statement。
  • @ThaBomb - 我知道我不能将它们相乘,这就是为什么我需要知道该怎么做才能改变它。就像 Pradeep ^ 说的那样,我需要用 Integer.parseIntr() 更改我的字符串

标签: java string int


【解决方案1】:
String banana = "2";
int apple = 1;

int result = (Integer.valueOf(banana))*apple;

System.out.println("Result= " + result);

试试看;)

【讨论】:

  • 我没有使用 parseInt 因为这样你有 2 个答案,而使用 parseInt 你需要用 try 和 catch 封装
  • 因为 valueOf() 会得到一个 String 的 int 值,而 parseInt 会尝试将一个字符串转换为 int 如果你的字符串是这样的 "123bla" parseInt 会给你一个错误,就是这样为什么你需要使用 try and catch
  • 好的,我明白了,让事情变得更简单。
  • valueOf internally uses parseInt .. 只是为了让你知道你正在解析
  • 没想到
【解决方案2】:

可能你做了类似的事情:

String banana = "3";
int apple = 2;

int result = banana*apple;

只需使用Integer.parseInt():

int result = Integer.parseInt(banana)*apple;

【讨论】:

  • 是的,谢谢。实际上我做了 Stringbanana = (userInput.getText());和苹果 = (userInteger + userInteger2);但是是的
猜你喜欢
  • 2016-06-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-08-11
  • 2013-07-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多