求大神: try catch语句实现 随机数不等于1 2 3时输出“输入错误”并可以重新输入
展开全部
首先不是很明白题目,什么叫做随机数不等于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
展开全部
可以重新输
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询