黑马程序员技术交流社区
标题:
关于java如何输入的一个问题
[打印本页]
作者:
雷丹
时间:
2013-10-25 09:14
标题:
关于java如何输入的一个问题
/*
下面的代码我想如果是输入一串数字则停止输入,如果输入的不符合要求就重新输入,但是我发现输入错误之后,该程序就
不给我继续输入的机会了,就不停的死循环了。
*/
package work4;
import java.util.InputMismatchException;
import java.util.Scanner;
public class Test1
{
public static void main(String[] args)
{
Scanner sc = new Scanner(System.in);
System.out.println("请输入你要转化的一串数字");
Long inputNum;
while (false == sc.hasNextLong()) {
try {
inputNum = sc.nextLong();
}
catch (InputMismatchException e) {
e.printStackTrace();
}
finally {
System.out.println("请输入数字");
}
}
}
}
作者:
枫儿
时间:
2013-10-25 09:39
哥们到底学到哪了 刚提了个集合的问题 我以为你在学集合
作者:
Stephen_Chow
时间:
2013-10-25 10:02
很简单呀,在finaly里面把原来的sc在清空一下;
在27行添加语句:sc = new Scanner(System.in);
源码如下:下次发代码要注意格式喽,亲,点击代码按钮发送
/*
下面的代码我想如果是输入一串数字则停止输入,如果输入的不符合要求就重新输入,但是我发现输入错误之后,该程序就
不给我继续输入的机会了,就不停的死循环了。
*/
import java.util.InputMismatchException;
import java.util.Scanner;
public class Demo6 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入你要转化的一串数字");
Long inputNum;
while (false == sc.hasNextLong()) {
try {
inputNum = sc.nextLong();
} catch (InputMismatchException e) {
e.printStackTrace();
} finally {
System.out.println("请输入数字");
sc = new Scanner(System.in);
}
}
}
}
复制代码
作者:
Yuan先生
时间:
2013-10-25 10:09
本帖最后由 Yuan先生 于 2013-10-25 10:28 编辑
刚写出来的,你参考一下吧
public class Test1 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入你要转化的一串数字");
long inputNum;
while (true) {
if (sc.hasNextLong()) {
inputNum = sc.nextLong();
System.out.println(inputNum);
break;
} else {
System.out.println("请输入数字");
sc = new Scanner(System.in);
}
}
}
}
复制代码
作者:
To
时间:
2013-10-27 16:07
楼主你好,如果问题已解决请将帖子状态修改为提问结束,
如果未解决请继续追问,谢谢合作
修改方法请看解释帖:
http://bbs.itheima.com/thread-89313-1-1.html
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2