日期:2014-05-20  浏览次数:20537 次

java问题
题目:从键盘输入一位整数,当输入1-7时,显示下面对应的英文星期名称的缩写。
(省略)
输入其它数字时提示用户重新输入,输入数字0时程序结束。
(我刚开始学习java,现在只学完了选择结构跟循环结构,现在遇到问题了,请各位前辈帮个忙解决一下,小弟我不胜感激)
package test1;
import java.util.Scanner;
public class Lijie8 {
public static void main(String[] args){
Scanner input = new Scanner(System.in);
int num;
String day;
System.out.print("请输入数字(输入0结束):");
do{
num = input.nextInt();
if(num == 0){
break;
}
switch(num){
case 1:
day = "MON";
System.out.println("今天是:" + day);
break;
case 2:
day ="TUE";
System.out.println("今天是:" + day);
break;
case 3:
day = "WED";
System.out.println("今天是:" + day);
break;
case 4:
day ="THD";
System.out.println("今天是:" + day);
break;
case 5:
day ="FRI";
System.out.println("今天是:" + day);
break;
case 6:
day ="SAT";
System.out.println("今天是:" + day);
break;
case 7:
day ="SUN";
System.out.println("今天是:" + day);
break;
default:
System.out.println("输入错误,请重新输入:");
  }
}while(num>=1 && num<=7);
System.out.println("程序结束");
  }
}
上面是我所写的程序,运行后结果如下:
请输入数字(输入0结束):1
今天是:MON
2
今天是:TUE
8
输入错误,请重新输入:
程序结束



------解决方案--------------------
你的do while循环有问题,当输入非[0,7]范围内的数时循环就结束了,而不是以输入0为结束标志的。1楼所贴代码就是改正了你的do while循环……