刚学到JAVA循环  问个菜鸟问题 import java.util.*;public class jieduan1 {
public static void main(String[] args) {
System.out.println("**********欢迎进入奖客富翁系统**********");
System.out.println("\t\t1.注册");
System.out.println("\t\t2.登陆");
System.out.println("\t\t3.抽奖");
for (int i = 0; i < 40; i++) {
System.out.print("*");
}
int num;
String yn = "";
do {
while (true) {
Scanner input = new Scanner(System.in);
boolean isRight;
System.out.print("\n请选择菜单:");
try {
do {
isRight = false;
num = input.nextInt();
//当输入非int变量时怎么才有友好提示(“输入错误,请选择菜单:”),而且不影响其他输出
switch (num) {
case 1:
System.out.println("[奖客富翁系统>注册]");
break;
case 2:
System.out.println("[奖客富翁系统>登陆]");
break;
case 3:
System.out.println("[奖客富翁系统>抽奖]");
break;
default:
System.out.println("输入错误,请选择菜单:");
isRight = true;
break;
}
} while (isRight);
System.out.println("继续吗?(“y”继续/“其他”退出):");
yn = input.next();
} catch (Exception e) {
continue;
}
break;
}
} while ("y".equals(yn));
System.out.println("退出程序");
}
}

解决方案 »

  1.   

    你不是已经写了异常处理了吗?在你的异常处理上面加上System.out.println("输入错误,请选择菜单:");不是就行了吗
      

  2.   

    先把print提出个方法来:public static print(Object o){
      System.out.println(o);
    }差不多了吧。。
      

  3.   


    //前面的代码省略
    } while (isRight);
    System.out.println("继续吗?(“y”继续/“其他”退出):");
    yn = input.next();
    } catch (Exception e) {
    System.out.println("输入错误,请选择菜单:");
    continue;
    }
    break;
    }
    } while ("y".equals(yn));
    System.out.println("退出程序");
    }
    }
      

  4.   

    public static void main(String[] args) {
    System.out.println("**********欢迎进入奖客富翁系统**********");
    System.out.println("\t\t1.注册");
    System.out.println("\t\t2.登陆");
    System.out.println("\t\t3.抽奖");
    for (int i = 0; i < 40; i++) {
    System.out.print("*");
    }
    int num = 0;// 注意初始化
    String yn = ""; Scanner input = new Scanner(System.in);// 这个放外面,否则每次循环
    boolean isRight; // 同上

    do {
    while (true) {
    System.out.print("\n请选择菜单:");
    try {
    do {
    isRight = false;
    num = input.nextInt();
    // 当输入非int变量时怎么才有友好提示(“输入错误,请选择菜单:”),而且不影响其他输出
    switch (num) {
    case 1:
    System.out.println("[奖客富翁系统>注册]");
    break;
    case 2:
    System.out.println("[奖客富翁系统>登陆]");
    break;
    case 3:
    System.out.println("[奖客富翁系统>抽奖]");
    break;
    default:
    System.out.println("输入错误,请选择菜单:");
    isRight = true;
    break;
    }
    } while (isRight);
    System.out.println("继续吗?(“y”继续/“其他”退出):");
    yn = input.next();
    } catch (Exception e) {
    continue;
    }
    break;
    }
    } while ("y".equals(yn));

    System.out.println("退出程序");
    }
      

  5.   

    5楼  你的进死循环那  Scanner input = new Scanner(System.in);可能这个不能放外面吧