把輸入過程用while括起來,用flag判斷是否終止循環(huán),捕獲到exception就把flag改成true
我們注重客戶提出的每個要求,我們充分考慮每一個細節(jié),我們積極的做好網(wǎng)站建設、成都做網(wǎng)站服務,我們努力開拓更好的視野,通過不懈的努力,創(chuàng)新互聯(lián)建站贏得了業(yè)內(nèi)的良好聲譽,這一切,也不斷的激勵著我們更好的服務客戶。 主要業(yè)務:網(wǎng)站建設,網(wǎng)站制作,網(wǎng)站設計,小程序定制開發(fā),網(wǎng)站開發(fā),技術開發(fā)實力,DIV+CSS,PHP及ASP,ASP.Net,SQL數(shù)據(jù)庫的技術開發(fā)工程師。
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中實現(xiàn)用戶輸入格式錯誤后,提示用戶重新輸入,以用戶輸入負數(shù)的時候提示錯誤并重新輸入案例為例,代碼如下:
public?static?int?a?=?0;
public?static?void?main(String[]?args)?{
while?(true)?{
try?{
a?=?getStr();?
if?(-1?==?a)?{
//用戶輸入負數(shù)時候,提醒用戶輸入正確的格式。
throw?new?IO?Except?io?n("請輸入大于-1的數(shù)");
}else{
break;
}
}
//?這個地方實現(xiàn)IO異常抓取
catch?(IOException?e)?{
//抓取上面提示的錯誤,如果上面報錯,證明用戶輸入格式不符合,這里實現(xiàn)重新輸入。?
System.out.println("erro?is?a,請從新輸入:");
}
}
System.out.print(a);
Test.prints();
a?=?a?+?0;
}
public?static?int?getStr(){
//獲取用戶輸入的正確數(shù)值?
Scanner?input?=?new?Scanner(System.in);
a?=?input.nextInt();
return?a;
}
public?static?void?prints()?{
//把用戶輸入的數(shù)值顯示出來?
System.out.println(a);
}