关于一个强制类型转换问题

leet2 2015-03-07 10:01:03
import java.util.*;
public class Test2{
public static void main (String[] args){
Scanner in =new Scanner(System.in);
System.out.println("请输入你的成绩;");
int score=(int)(in.nextInt());
if(score>90){
System.out.println("奖励你一根棒棒糖");
}
System.out.println("正在测试");
}
}


这段代码中 我在输入分数那里设置了强制转换成int型 编译也通过了
但是在DOS运行中 我输入了92.5
程序报错 我不明白为什么 虽然原始题目中不需要我设置这个强制转换类型 但是我还是想问下各位高手们
最近才开始自学Java 很多不懂的问题 我本来想百度 但是没有找到合适的答案 所以来这里请教大家
请不吝指教 谢谢!
...全文
162 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
code小生 2015-03-08
  • 打赏
  • 举报
回复
对啊,你已经限定了输入的数据类型是int型,又去转什么呢?
乔巴好萌 2015-03-07
  • 打赏
  • 举报
回复
改成Float吧 你输入参数属于运行期,编译器没错不代表运行期没错。 Scanner in =new Scanner(System.in); System.out.println("请输入你的成绩;"); String input = in.next(); float score = 0; try{ score = Float.parseFloat(input); if(score>90){ System.out.println("奖励你一根棒棒糖"); } } catch (NumberFormatException e) { System.out.println("input illegal"); }
姜小白- 2015-03-07
  • 打赏
  • 举报
回复
恩 int score=(int)(in.nextInt()); 必须接收int 型的输入值
leet2 2015-03-07
  • 打赏
  • 举报
回复
哦 各位大神对不起 我知道我哪里错了 因为我已经规定我要输入的是整数了 所以报错 对不起 我问了一个弱智问题 对不起 对不起

62,616

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧