把输入过程用while括起来,用flag判断是否终止循环,捕获到exception就把flag改成true
我们注重客户提出的每个要求,我们充分考虑每一个细节,我们积极的做好网站建设、成都做网站服务,我们努力开拓更好的视野,通过不懈的努力,创新互联建站赢得了业内的良好声誉,这一切,也不断的激励着我们更好的服务客户。 主要业务:网站建设,网站制作,网站设计,小程序定制开发,网站开发,技术开发实力,DIV+CSS,PHP及ASP,ASP.Net,SQL数据库的技术开发工程师。
import java.util.Scanner;
public class Test {
public static void main(String args[]) {
String s = "";
String regex = "[\u4E00-\u9FA5]+";
Scanner input;
while(true) {
System.out.println("请输入一些汉字:");
input = new Scanner(System.in);
try {
s = input.next();
if(!s.matches(regex)) throw new Exception();
} catch(Exception e) {
System.out.println("您输入的不是纯汉字!");
continue;
}
break;
}
System.out.println("您输入的是:" + s);
}
}
//报错的代码是不可达代码,将return修改为break即可,如:
while(true)
{
try
{
Scanner input = new Scanner(System.in);
a=input.nextInt();
break;
}catch(Exception e)
{
System.out.println("erro is a,请重新输入:");
}
}
java中实现用户输入格式错误后,提示用户重新输入,以用户输入负数的时候提示错误并重新输入案例为例,代码如下:
public static int a = 0;
public static void main(String[] args) {
while (true) {
try {
a = getStr();
if (-1 == a) {
//用户输入负数时候,提醒用户输入正确的格式。
throw new IO Except io n("请输入大于-1的数");
}else{
break;
}
}
// 这个地方实现IO异常抓取
catch (IOException e) {
//抓取上面提示的错误,如果上面报错,证明用户输入格式不符合,这里实现重新输入。
System.out.println("erro is a,请从新输入:");
}
}
System.out.print(a);
Test.prints();
a = a + 0;
}
public static int getStr(){
//获取用户输入的正确数值
Scanner input = new Scanner(System.in);
a = input.nextInt();
return a;
}
public static void prints() {
//把用户输入的数值显示出来
System.out.println(a);
}