• 主页
  • Java SE
  • J2ME
  • Web开发
  • Java EE
  • Eclipse

为什么只能输入一个数字?

recentlywe 2021-04-22 03:10:10
为什么只能输入一个数字,输入不了第二个数字?

public class Demo extends Exception {//自定义异常,必须继承Exception或其子类
public Demo() {
super();
}
public Demo(String code) {
super(code);
}
}

import java.util.Scanner;

public class Test {

public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println("code:");
Scanner input = new Scanner(System.in);

try {
int code = input.nextInt();
show(code);
} catch (Demo e) {
// TODO Auto-generated catch block
e.printStackTrace();
}catch(Exception e) {
e.printStackTrace();
}
System.out.println("程序结束");
}
public static void show(int code) throws Demo{
if(code<1||code>3) {
throw new Demo("课程编码越界");//使用throws关键字声明异常对象
}else if (code==1) {
System.out.println("c++");
}else if(code==2){
System.out.println("java");
}
else {
System.out.println("mysql");
}
}
}
...全文
90 点赞 收藏 2
写回复
2 条回复
barton92 04月22日
稍微改了下,抛出异常就停止
public class Test { public static void main(String[] args) { // TODO Auto-generated method stub System.out.println("code:"); try { while(true) { show(); } } catch (Demo e) { // TODO Auto-generated catch block e.printStackTrace(); }catch(Exception e) { e.printStackTrace(); } System.out.println("程序结束"); } public static void show() throws Demo{ Scanner input = new Scanner(System.in); int code = input.nextInt(); if(code<1||code>3) { throw new Demo("课程编码越界");//使用throws关键字声明异常对象 }else if (code==1) { System.out.println("c++"); }else if(code==2){ System.out.println("java"); } else { System.out.println("mysql"); } } }
回复 点赞
时间胶嚢 04月22日
加个循环就可以了 while(1){ try { int code = input.nextInt(); show(code); } catch (Demo e) { // TODO Auto-generated catch block e.printStackTrace(); }catch(Exception e) { e.printStackTrace(); } System.out.println("程序结束"); } }
回复 点赞
发动态
发帖子
Java
创建于2007-09-28

1.8w+

社区成员

8.1w+

社区内容

Java相关技术讨论
社区公告
暂无公告