乔治爱啃脚趾 发表于 2023-9-24 11:14:14

求助,用switch语句写

输出任意1~7之间的数,将它们转换为对应的英文单词。例如:1转换成Monday,7转换成Sunday。

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

输出格式:
对每一组输入,在一行中输出相应的星期几的单词。

Mike_python小 发表于 2023-9-24 11:14:15

问题分析:
根据题目要求,我们需要编写一个 Java 程序,使用 switch 语句将输入的数字转换为对应的星期几的英文单词。程序应当连续接受输入,并在输入为 0 时退出。对于非 1~7 的输入,需要输出 "输入有误" 提示,并允许继续输入。

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

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();
    }
}


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

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

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

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

isdkz 发表于 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. 循环继续,等待下一次输入。

陶远航 发表于 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 的范围内,如果输入了其他数字,会输出 "输入有误,请重新输入!" 提示,并等待新的输入。你可以根据需要进行修改和扩展。
如果问题已经解决,请设置最佳答案

乔治爱啃脚趾 发表于 2023-9-24 11:16:46

isdkz 发表于 2023-9-24 11:14
以下是使用switch语句实现的代码,可以满足题目要求:




那用java咋搞呢
页: [1]
查看完整版本: 求助,用switch语句写