用键盘输入一位整数,当输入1~7时,显示对应英文星期名称缩写,​1表示MON 2表示TUE……

输其他数字,提示从新输,输入0时结束。下边是我写的,报错,求高手完善,我是初学。

public static void main(String[] args) {
int num=Integer.parseInt("");//输入接受到的值
String day="";
if(num==0){
System.exit(0);}
if(num>7){
System.out.println("请重新输入");}
switch(num){
case 1:day="MON";
case 2:day="TUE";
case 3:day="WED";
case 4:day="THU";
case 5:day="FRI";
case 6:day="SAT";
case 7:day="SUN";
case 0:break;} }

}

}

//我稍微修改了一下你的代码,你试试看行不行
import java.util.Scanner;

public static void main(String[] args) {
Scanner in = new Scanner(System.in);
System.out.println("请输入:");
Integer num = in.nextInt();
String day = "";
switch (num) {
case 1:
day = "MON";
break;
case 2:
day = "TUE";
break;
case 3:
day = "WED";
break;
case 4:
day = "THU";
break;
case 5:
day = "FRI";
break;
case 6:
day = "SAT";
break;
case 7:
day = "SUN";
break;
default:
System.out.println("输入有误!");
break;

}
System.out.print(day);

}追问

最后一行的 符号报错啊?(})
在线等。

追答

是用Eclipse开发的吧,你检查一下是不是在代码开始的部分少了一个“{“,你试试这次的代码。

import java.util.Scanner;

public class DateTest { // 类名改成你自己起的名字

public static void main(String[] args) {
Scanner in = new Scanner(System.in);
System.out.println("请输入:");
Integer num = in.nextInt();
String day = "";
switch (num) {
case 1:
day = "MON";
break;
case 2:
day = "TUE";
break;
case 3:
day = "WED";
break;
case 4:
day = "THU";
break;
case 5:
day = "FRI";
break;
case 6:
day = "SAT";
break;
case 7:
day = "SUN";
break;
default:
System.out.println("输入有误!");
break;

}
System.out.print(day);

}

}

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-07-23
空值“”不能转化为Integer类型。加个判断。为空返回,或者为空让他等于0.
第2个回答  2013-07-23
Scanner in=new Scanner(System.in);
int num=in.nextInt();
第3个回答  2018-07-03
双重for循环更简单点