java中如何实现用户输入错误,从新输入

就拿这个例子来说吧。importjava.io.IOException;importjava.util.Scanner;publicclassTest{publicsta... 就拿这个例子来说吧。
import java.io.IOException;
import java.util.Scanner;

public class Test {

public static int a=0;

public static void main(String[] args)
{

while(true)
{
try
{
Scanner input = new Scanner(System.in);
a=input.nextInt();
return;
}
//这个地方怎么实现IO异常
catch(Exception e)
{
System.out.println("erro is a,请从新输入:");
}

}
//在while后面的语句怎么都会报错?
System.out.print(a);
Test.prints();
a=a+0;
}
public static void prints()
{
System.out.println(a);
}

}
我问的是while后面的语句为什么会报错,怎么实现IO异常,也就是说把Exception变成IOException、、就这两个问题
展开
 我来答
__迷___
2015-08-12 · 超过25用户采纳过TA的回答
知道答主
回答量:98
采纳率:0%
帮助的人:58.4万
展开全部

//报错的代码是不可达代码拿亏穗消卜,将return修改空肆为break即可,如:

while(true)

{

try

{

Scanner input = new Scanner(System.in);

a=input.nextInt();

break;

}catch(Exception e)

{

System.out.println("erro is a,请重新输入:");

}

}


江湖人称王嘉嘉
2015-07-30 · TA获得超过1400个赞
知道小有建树答主
回答量:1047
采纳率:83%
帮助的人:620万
展开全部
Java有一个Scaner类,你可以看看。这个类就是用于从控制台获取用户输入参数的。非常方便。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
xinchun97
2011-05-13 · TA获得超过119个赞
知道答主
回答量:323
采纳率:0%
帮助的人:0
展开全部
结果仿袜磨会映出错误的字样 然后要求用户从新输入 ConsoleIO里面有以下: String x 为了好陵让程序更有结构化,JAVA不支持GOTO语句,所备斗以不能实现VB的On error goto
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
jqblizzie
2011-05-13 · 超过15用户采纳过TA的回答
知道答主
回答量:53
采纳率:0%
帮助的人:37.9万
展开全部
你要捕获IOException吗乎败?
catch(IOException e) 这样就可以了
但是这个程序没有会产生IOException的语句
非要捕获的话自己throw一个
try
{
Scanner input = new Scanner(System.in);
a=input.nextInt();
throw new IOException();
return;
}
//这个地方怎么实现IO异常
catch(IOException e)
{
System.out.println("erro is a,请从新输入:");
}
while语句报错是因为你上面已经return了,下岁茄颤面的代码执行不到
Scanner input = new Scanner(System.in);
a=input.nextInt();
return; //你这里直接return了
可以设个标志boolean flag=true;
while(flag){
flag=false;//然后在while循环里设成false,退出纳简循环
}
追问
while语句没错,是while后面的会报错,我输的那三条语句都会报错。。但是又没错误提示。。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
dingqiaowu
2011-05-13 · TA获得超过200个赞
知道小有建树答主
回答量:612
采纳率:0%
帮助的人:432万
展开全部
public class Test {

public static int a=0;

public static void main(String[] args)
{

while(true)
{
try
{
Scanner input = new Scanner(System.in);
a=input.nextInt();
if(-1==a){
throw new IOException("请输入大于-1的数哗芹拦");
}else{
return;
}
}
//这个地方怎么实现IO异乱胡首行常
catch(IOException e)
{
System.out.println("erro is a,请从新输入:");
}

}
//在while后面的语句怎么都会报错?
System.out.print(a);
Test.prints();
a=a+0;
}
public static void prints()
{
System.out.println(a);
}

}
更多追问追答
追问
异常都不是关键,关键是这里会报错
//在while后面的语句怎么都会报错?
System.out.print(a);
Test.prints();
a=a+0;
追答
你要说报什么错我才知道
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式