根据输入的条件来控制循环,但程序的运行结果和预期不符
package polymorphismHomework;
import java.util.Scanner;
public class Test {
public static void main(String[] args) {
// TODO 自动生成的方法存根
System.out.println("************欢迎来到太阳马戏团***********");
String st = " ";
do{
Scanner sc = new Scanner(System.in);
st = sc.next();//从键盘输入数字
System.out.println("************欢迎来到太阳马戏团***********");
System.out.println("************ 请选择表演者************");
System.out.println("************ 1、棕熊 ************");
System.out.println("************ 2、狮子 ************");
System.out.println("************ 3、猴子 ************");
System.out.println("************ 4、鹦鹉 ************");
System.out.println("************ 5、小丑 ************");
}while(!st.equals("Y"));
}
}
public static void main(String[] args) {
System.out.println("************欢迎来到太阳马戏团***********");
System.out.println("************ 请选择表演者( 1、棕熊,2、狮子,3、猴子,4、鹦鹉,5、小丑)************");
int st = 0;
do{
Scanner sc = new Scanner(System.in);
st = sc.nextInt();//从键盘输入数字
switch(st){
case 1:
System.out.println("************ 1、棕熊 ************");
break;
case 2:
System.out.println("************ 2、狮子 ************");
break;
case 3:
System.out.println("************ 3、猴子 ************");
break;
case 4:
System.out.println("************ 4、鹦鹉 ************");
break;
case 5:
System.out.println("************ 5、小丑 ************");
break;
default:
System.out.println("没有这个");
}
}while(st!=0);
}
这样吗?
执行到这句,“st = sc.next();”在等待你输入,你输入之后后面的代码才会执行
想要什么效果。你写的肯定是不对,但对的是什么样,你也没描述
你是要达到什么效果啊 没明白
还不如用switch或者ifelse嵌套着写呢
public static void main(String[] args) {
// TODO 自动生成的方法存根
System.out.println("************欢迎来到太阳马戏团***********");
System.out.println("************ 请选择表演者************");
System.out.println("************ 1、棕熊 ************");
System.out.println("************ 2、狮子 ************");
System.out.println("************ 3、猴子 ************");
System.out.println("************ 4、鹦鹉 ************");
System.out.println("************ 5、小丑 ************");
String st = "";
Scanner sc = new Scanner(System.in);
do {
st = sc.next();// 从键盘输入数字
if (st.equals("1")) {
System.out.println("hoho,我是棕熊");
} else if(st.equals("2")) {
System.out.println("hoho,我是狮子");
} else if(st.equals("3")) {
System.out.println("hoho,我是猴子");
} else if(st.equals("4")) {
System.out.println("hoho,我是鹦鹉");
}else if(st.equals("5")) {
System.out.println("hoho,我是小丑");
} else {
System.out.println("不想选输入Y");
}
} while (!st.equals("Y"));
}
不知道是不是这个意图
懂你的意思了,你就是想循环输入1.2.3.4等是吧,只要把
Scanner sc = new Scanner(System.in);
st = sc.next();//从键盘输入数字
放到小丑那一行的下面就可以了
或许吧
import java.util.Scanner;
public class MyTest {
@SuppressWarnings("resource")
public static void main(String[] args) {
System.out.println("************欢迎来到太阳马戏团***********");
boolean flag = true;
do{
System.out.println("************ 请选择表演者************");
System.out.println("************ 1、棕熊 ************");
System.out.println("************ 2、狮子 ************");
System.out.println("************ 3、猴子 ************");
System.out.println("************ 4、鹦鹉 ************");
System.out.println("************ 5、小丑 ************");
Scanner sc = new Scanner(System.in);
int st = sc.nextInt();
if(st <1 || st > 5){
flag = false;
}
showTime(st);
}while(flag);
}
public static void showTime(int i){
try{
switch(i){
case 1: System.out.println("棕熊 表演时间!"); break;
case 2: System.out.println("狮子 表演时间!"); break;
case 3: System.out.println("猴子 表演时间!"); break;
case 4: System.out.println("鹦鹉 表演时间!"); break;
case 5: System.out.println("小丑 表演时间!"); break;
default: System.out.println("表演结束");break;
}
}catch(Exception e){
System.out.println("表演结束");
}
}
}