新人请教:从键盘输入一位整数,当输入1~7时,输出“星期一”~“星期日”输入其他数字时,提示用户重新输入

cSdn989 2019-11-08 09:22:12
我使用switch语法写出来了,想知道能不能用while或do-while或多重for循环实现。如果能,各种方法怎么实现,非常感谢!(重点是能否用for循环)
switch语法代码如下:
import java.util.*;
public class Demo {

public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
System.out.println("请输入一位整数:");
int num=sc.nextInt();
switch(num){
case 0:
break;
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;
case 6:
System.out.println("星期六");
break;
case 7:
System.out.println("星期日");
break;
default:
System.out.println("请输入一个1-7之间的数字,输入0退出程序。");
}
System.out.println("程序执行完毕,已退出!");
}
}
...全文
2489 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
三仙半 2019-11-09
  • 打赏
  • 举报
回复

public static void main(String[] args) {
String[] days = new String[] { "一", "二", "三", "四", "五", "六", "七" };
Scanner sc = new Scanner(System.in);
while (true) {
System.out.print("请输入一位 1~7 整数,0退出:");
int num = sc.nextInt();
if (num == 0)
break;
else if (num < 0 || num > 7) {
System.out.println("无效输入,请重新输入!");
continue;
}
System.out.println("星期" + days[num - 1]);
}
}
cSdn989 2019-11-09
  • 打赏
  • 举报
回复
非常感谢,方法很全面!
天行归来 2019-11-08
  • 打赏
  • 举报
回复

	public static void main(String[] args) {
		Scanner sc=new Scanner(System.in);
		for(;;) {
			System.out.print("请输入一位 1~7 整数,0退出:");
			int num=sc.nextInt();
			if (num==0) break;
			
			if (num<0 || num>7) {
				System.out.println("无效输入,请重新输入!");
				continue;
			}

			String day = (num==1?"星期一":(num==2?"星期二":(num==3?"星期三":(num==4?"星期四":(num==5?"星期五":(num==6?"星期六":"星期七"))))));
			System.out.println(day);
		}
	}
faith.huan 2019-11-08
  • 打赏
  • 举报
回复
在switch前加个while



public class Demo {

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入一位整数:");
        int num = sc.nextInt();

        while (num <= 0 || num > 7) {
            System.out.println("请输入一个1-7之间的数字,输入0退出程序。");
            num = sc.nextInt();
        }

        switch (num) {
            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;
            case 6:
                System.out.println("星期六");
                break;
            case 7:
                System.out.println("星期日");
                break;
            default:
                System.out.println("default");
        }
        System.out.println("程序执行完毕,已退出!");
    }
    

62,621

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧