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

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 很多不懂的问题 我本来想百度 但是没有找到合适的答案 所以来这里请教大家
请不吝指教 谢谢!
...全文
140 点赞 收藏 4
写回复
4 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
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
哦 各位大神对不起 我知道我哪里错了 因为我已经规定我要输入的是整数了 所以报错 对不起 我问了一个弱智问题 对不起 对不起
回复
相关推荐
发帖
Java SE
创建于2007-09-28

6.2w+

社区成员

Java 2 Standard Edition
申请成为版主
帖子事件
创建了帖子
2015-03-07 10:01
社区公告
暂无公告