求大神: try catch语句实现 随机数不等于1 2 3时输出“输入错误”并可以重新输入

 我来答
296901441
2018-01-06 · TA获得超过152个赞
知道小有建树答主
回答量:138
采纳率:62%
帮助的人:60.8万
展开全部

首先不是很明白题目,什么叫做随机数不等于123……!? random()产生的系统随机数嘛?

如果是利用Scanner获取用户的输入,我说下我所理解的题干:

让用户输入1个数,如果不是123,就提示输入错误且重新输入。

实际上这样的程序是不需要try-catch毕竟没有系统异常,通过判断语句就可以实现,非要个异常使用throw一个也罢:

给下我所想的题干代码:


import java.util.Scanner;
public class test {
public static void Input() throws Exception{
Scanner sc = new Scanner(System.in);
int in = sc.nextInt();
if(in == 1 || in == 2 || in == 3){
System.out.println("对了,你输入的是"+in);
}else{
throw(new Exception("Err"));
}
}

public static void main(String[] args) {
while(true){
try{
Input();
}catch(Exception e){
System.out.println("小姐姐,你输入错了,input again");
}
}
}
}

敲黑板划重点:

重新输入其实是While循环不断sc.NextInt()

既然是要用try-catch,最好放在一个单独的方法里。

throws是异常的抛出的声明。

throw()是主动抛出异常。

希望能帮到你。

追问
主要是为了让程序看着更高大上点,忘了说我设置了1-3的随机数,谢谢大神了!
匿名用户
2018-01-06
展开全部
可以重新输
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式