loraa
2016-03-21 22:59
//若输入字符型或者字符串,则抛出异常,捕获该异常,抛出”错误命令异常“ console = new Scanner(System.in); 第一章作业参考中的这句是什么意思,有什么作用???在 private static int inputCommand()的catch中的,求解惑
因为最前面用private static修饰了console,所以console是静态变量,如果不重新初始化,抛出异常后,第二次进行方法inputCommand()时,console还是会保存以前有问题的数据,会进入死循环
Scanner是用来接收从键盘输入的数据的一个方法,使用前要导入Scanner包
就是说若果你输入字符型(即char)或者字符串(即String)就抛出一个异常,然后利用try。。catch捕获并以此来触发另一个异常(即你所要抛出的“错误命令”这个异常)
还有这句console = new Scanner(System.in);console这个是c#中的输出方法吧,Java中用的不是System.out.println();么,而且这句本身就有问题应该是
Scanner input = new Scanner(System.in);//创建一个input对象来存键入的数据,
int S1 = input.nextInt();//定义个变量来接受你所输入的数据next后面是int就是整形,char就是字符型。。。。
就算用C#也应该是int input = Console.ReadLine();
有很多next()xxx 的方法 你从键盘接收的是什么数据类型 就用相对应的接收方法
如果你接收的为 next();就不会异常。但是要是用nextInt()就会。意思也就是说,你键盘输入的要是Int类型的。
Java入门第三季
409792 学习 · 4340 问题
相似问题