各位大哥大姐进来帮下忙(本人菜鸟)
public static void main (String[] args) {
Scanner in =new Scanner(System.in);
for(;;)
{
BigDecimal m = in.nextBigDecimal();
int n = in.nextInt();
System.out.println(m);
System.out.println (n);
}
}
实在是不知道什么原因导致最后输出的M和N 都变成了M的值 ,哪位给个解决方法,小弟在这先谢谢了!!
------解决方案--------------------没有啊~~我出来的都是对的!
------解决方案--------------------把代码全都贴出来啊,scanner是什么类啊?
------解决方案--------------------汗!LS
我出来也是对的
输入要回车下
------解决方案--------------------应该是m,n的值都有吧。
我试了一下,运行时,输入12.01 12.001就会抛出异常,
但是,如果把int n = in.nextInt();和System.out.println (n);
注释掉就可以打出,可见,n是可以取到值的是有影响的。
但是运行时输入
12.01
12
就可以输出
12.01
12
但是输入
12.01
12.001
就抛出异常。
所以,这个程序,先取m值,再取n值,n取的是
int类型,如果不是int类型就抛异常。
但我也不明白怎么回事,高手解释一下。谢谢
------解决方案--------------------in都已在循环外定义了
楼主您还想怎么样