鱼C论坛

 找回密码
 立即注册
查看: 942|回复: 4

[已解决]求助,用switch语句写

[复制链接]
发表于 2023-9-24 11:14:14 | 显示全部楼层 |阅读模式
3鱼币
输出任意1~7之间的数,将它们转换为对应的英文单词。例如:1转换成Monday,7转换成Sunday。

输入格式:
连续输入则连续输出,当输入为0时退出程序,输入其它数据则有“输入有误”提示,并可继续输入。

输出格式:
对每一组输入,在一行中输出相应的星期几的单词。
最佳答案
2023-9-24 11:14:15
问题分析:
根据题目要求,我们需要编写一个 Java 程序,使用 switch 语句将输入的数字转换为对应的星期几的英文单词。程序应当连续接受输入,并在输入为 0 时退出。对于非 1~7 的输入,需要输出 "输入有误" 提示,并允许继续输入。

代码示例:
下面是一个符合要求的 Java 代码示例:

[/code]java
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        
        while (true) {
            System.out.print("请输入一个数字(1~7),输入0退出程序:");
            int num = scanner.nextInt();
            
            if (num == 0) {
                System.out.println("程序已退出。");
                break;
            } else if (num >= 1 && num <= 7) {
                String dayOfWeek;
               
                switch (num) {
                    case 1:
                        dayOfWeek = "Monday";
                        break;
                    case 2:
                        dayOfWeek = "Tuesday";
                        break;
                    case 3:
                        dayOfWeek = "Wednesday";
                        break;
                    case 4:
                        dayOfWeek = "Thursday";
                        break;
                    case 5:
                        dayOfWeek = "Friday";
                        break;
                    case 6:
                        dayOfWeek = "Saturday";
                        break;
                    case 7:
                        dayOfWeek = "Sunday";
                        break;
                    default:
                        dayOfWeek = "Unknown";
                        break;
                }
               
                System.out.println("对应的星期几是:" + dayOfWeek);
            } else {
                System.out.println("输入有误,请重新输入。");
            }
        }
        
        scanner.close();
    }
}
[/code]

这段代码使用了一个无限循环 while (true),直到输入为 0 时才会跳出循环。在循环内部,首先要求用户输入一个数字,并通过 switch 语句将其转换为对应的英文单词。最后,根据转换结果进行输出。

需要注意的是,代码中使用了 Scanner 类来读取用户的输入。并且,为了防止资源泄漏,我们在程序结束前调用了 scanner.close() 方法关闭 Scanner 对象。

希望以上代码和解释能够帮助到你。如果有任何疑问,请随时提出。

球一个最佳答案谢谢啦!这对我非常重要!
回答可能有误,多多谅解!

最佳答案

查看完整内容

问题分析: 根据题目要求,我们需要编写一个 Java 程序,使用 switch 语句将输入的数字转换为对应的星期几的英文单词。程序应当连续接受输入,并在输入为 0 时退出。对于非 1~7 的输入,需要输出 "输入有误" 提示,并允许继续输入。 代码示例: 下面是一个符合要求的 Java 代码示例: [/code]java import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner scanner = new ...
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-9-24 11:14:15 | 显示全部楼层    本楼为最佳答案   
问题分析:
根据题目要求,我们需要编写一个 Java 程序,使用 switch 语句将输入的数字转换为对应的星期几的英文单词。程序应当连续接受输入,并在输入为 0 时退出。对于非 1~7 的输入,需要输出 "输入有误" 提示,并允许继续输入。

代码示例:
下面是一个符合要求的 Java 代码示例:

[/code]java
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        
        while (true) {
            System.out.print("请输入一个数字(1~7),输入0退出程序:");
            int num = scanner.nextInt();
            
            if (num == 0) {
                System.out.println("程序已退出。");
                break;
            } else if (num >= 1 && num <= 7) {
                String dayOfWeek;
               
                switch (num) {
                    case 1:
                        dayOfWeek = "Monday";
                        break;
                    case 2:
                        dayOfWeek = "Tuesday";
                        break;
                    case 3:
                        dayOfWeek = "Wednesday";
                        break;
                    case 4:
                        dayOfWeek = "Thursday";
                        break;
                    case 5:
                        dayOfWeek = "Friday";
                        break;
                    case 6:
                        dayOfWeek = "Saturday";
                        break;
                    case 7:
                        dayOfWeek = "Sunday";
                        break;
                    default:
                        dayOfWeek = "Unknown";
                        break;
                }
               
                System.out.println("对应的星期几是:" + dayOfWeek);
            } else {
                System.out.println("输入有误,请重新输入。");
            }
        }
        
        scanner.close();
    }
}
[/code]

这段代码使用了一个无限循环 while (true),直到输入为 0 时才会跳出循环。在循环内部,首先要求用户输入一个数字,并通过 switch 语句将其转换为对应的英文单词。最后,根据转换结果进行输出。

需要注意的是,代码中使用了 Scanner 类来读取用户的输入。并且,为了防止资源泄漏,我们在程序结束前调用了 scanner.close() 方法关闭 Scanner 对象。

希望以上代码和解释能够帮助到你。如果有任何疑问,请随时提出。

球一个最佳答案谢谢啦!这对我非常重要!
回答可能有误,多多谅解!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-9-24 11:14:22 | 显示全部楼层
以下是使用switch语句实现的代码,可以满足题目要求:
#include <iostream>
using namespace std;

int main() {
    int num;
    while (true) {
        cin >> num;
        if (num == 0) break;
        switch (num) {
            case 1:
                cout << "Monday" << endl;
                break;
            case 2:
                cout << "Tuesday" << endl;
                break;
            case 3:
                cout << "Wednesday" << endl;
                break;
            case 4:
                cout << "Thursday" << endl;
                break;
            case 5:
                cout << "Friday" << endl;
                break;
            case 6:
                cout << "Saturday" << endl;
                break;
            case 7:
                cout << "Sunday" << endl;
                break;
            default:
                cout << "输入有误" << endl;
                break;
        }
    }
    return 0;
}

代码思路:

1. 通过while循环不断读入输入的数字num;
2. 如果num等于0,则跳出循环,结束程序;
3. 如果num在1~7之间,则使用switch语句判断对应的英文单词,并输出;
4. 如果num不在1~7之间,则输出“输入有误”提示;
5. 循环继续,等待下一次输入。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-9-24 11:14:28 | 显示全部楼层
你可以使用 switch 语句编写一个程序,根据输入的数字输出对应的英文单词。下面是一个示例代码:
#include <stdio.h>

int main(void) {
    int num;

    while (1) {
        printf("请输入一个数字(1~7)(输入0退出):");
        scanf("%d", &num);

        if (num == 0)
            break;

        switch (num) {
            case 1:
                printf("Monday\n");
                break;
            case 2:
                printf("Tuesday\n");
                break;
            case 3:
                printf("Wednesday\n");
                break;
            case 4:
                printf("Thursday\n");
                break;
            case 5:
                printf("Friday\n");
                break;
            case 6:
                printf("Saturday\n");
                break;
            case 7:
                printf("Sunday\n");
                break;
            default:
                printf("输入有误,请重新输入!\n");
                break;
        }
    }

    return 0;
}

在这个程序中,通过不断循环读取输入的数字,并使用 switch 语句根据数字选择相应的输出。当输入为 0 时,程序会终止循环并退出。

注意,程序默认假设输入的数字在 1~7 的范围内,如果输入了其他数字,会输出 "输入有误,请重新输入!" 提示,并等待新的输入。你可以根据需要进行修改和扩展。
如果问题已经解决,请设置最佳答案
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2023-9-24 11:16:46 | 显示全部楼层
isdkz 发表于 2023-9-24 11:14
以下是使用switch语句实现的代码,可以满足题目要求:

那用java咋搞呢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-12-22 01:47

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表