
在日常编程中,我们经常会遇到一些需要根据用户输入来进行判断和处理的情况。今天,我们就来探讨一个有趣的小问题:如何通过用户输入的星期几的第一个字母(如果第一个字母相同,则继续判断第二个字母)来判断具体的星期几。我们将使用Java语言来实现这一功能。

我们的程序需要满足以下需求:
为了实现上述功能,我们可以采用以下步骤:
下面是完整的Java代码实现:
import java.util.Scanner;
public class DayOfWeekIdentifier {
public static void main(String[] args) {
// 定义一周七天的英文名称
String[] days = {"Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"};
Scanner scanner = new Scanner(System.in);
System.out.println("请输入星期几的英文前缀:");
String input = scanner.nextLine().trim();
// 用于存储可能的匹配项
String[] matches = new String[7];
int matchCount = 0;
// 比较输入的前缀与每个星期几
for (String day : days) {
if (day.startsWith(input)) {
matches[matchCount++] = day;
}
}
// 根据匹配结果给出反馈
if (matchCount == 0) {
System.out.println("没有找到匹配的星期几,请检查您的输入!");
} else if (matchCount == 1) {
System.out.println("您输入的是:" + matches[0]);
} else {
System.out.println("输入的前缀不足以唯一确定一个星期几,可能是以下几天之一:");
for (int i = 0; i < matchCount; i++) {
System.out.println(matches[i]);
}
}
scanner.close();
}
}
M您输入的是:MondayT输入的前缀不足以唯一确定一个星期几,可能是以下几天之一:TuesdayThursdayX没有找到匹配的星期几,请检查您的输入!import java.util.Scanner;
public class WeekdayIdentifier {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入星期几的英文名称(至少输入前两个字母):");
String input = scanner.nextLine().toLowerCase();
if (input.length() < 2) {
System.out.println("输入的字母太少,请至少输入两个字母。");
return;
}
switch (input.charAt(0)) {
case 'm':
if (input.startsWith("mo")) {
System.out.println("Monday");
} else {
System.out.println("没有找到匹配的星期几。");
}
break;
case 't':
if (input.startsWith("tu")) {
System.out.println("Tuesday");
} else if (input.startsWith("th")) {
System.out.println("Thursday");
} else {
System.out.println("没有找到匹配的星期几。");
}
break;
case 'w':
if (input.startsWith("we")) {
System.out.println("Wednesday");
} else {
System.out.println("没有找到匹配的星期几。");
}
break;
case 'f':
if (input.startsWith("fr")) {
System.out.println("Friday");
} else {
System.out.println("没有找到匹配的星期几。");
}
break;
case 's':
if (input.startsWith("sa")) {
System.out.println("Saturday");
} else if (input.startsWith("su")) {
System.out.println("Sunday");
} else {
System.out.println("没有找到匹配的星期几。");
}
break;
default:
System.out.println("没有找到匹配的星期几。");
break;
}
scanner.close();
}
}
运行程序后,根据提示输入星期几的英文名称(至少前两个字母),程序将输出对应的星期几。例如:
mo 将输出 Mondaytu 将输出 Tuesdayth 将输出 Thursdaywe 将输出 Wednesdayfr 将输出 Fridaysa 将输出 Saturdaysu 将输出 Sunday下面是一个详细的Java程序示例,该程序可以根据用户输入的星期几的第一个字母(如果需要的话,还可以输入第二个字母)来判断是哪一天。
import java.util.Scanner;
public class DayOfWeekGuess {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入星期几的第一个字母:");
String firstLetter = scanner.nextLine().trim().toUpperCase();
switch (firstLetter) {
case "M":
System.out.println("今天是星期一");
break;
case "T":
System.out.println("请输入星期几的第二个字母:");
String secondLetterT = scanner.nextLine().trim().toUpperCase();
if (secondLetterT.equals("U")) {
System.out.println("今天是星期二");
} else if (secondLetterT.equals("H")) {
System.out.println("今天是星期四");
} else {
System.out.println("输入错误,请重新输入!");
}
break;
case "W":
System.out.println("今天是星期三");
break;
case "F":
System.out.println("今天是星期五");
break;
case "S":
System.out.println("请输入星期几的第二个字母:");
String secondLetterS = scanner.nextLine().trim().toUpperCase();
if (secondLetterS.equals("A")) {
System.out.println("今天是星期六");
} else if (secondLetterS.equals("U")) {
System.out.println("今天是星期日");
} else {
System.out.println("输入错误,请重新输入!");
}
break;
default:
System.out.println("输入错误,请重新输入!");
break;
}
scanner.close();
}
}import java.util.Scanner;Scanner 类用于获取用户的输入。
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);创建一个 Scanner 对象来读取用户输入。
System.out.println("请输入星期几的第一个字母:");
String firstLetter = scanner.nextLine().trim().toUpperCase();使用 nextLine() 方法读取用户输入的字符串,并使用 trim() 去除首尾空格,toUpperCase() 将输入转换为大写,以便统一处理。
switch (firstLetter) {
case "M":
System.out.println("今天是星期一");
break;
case "T":
System.out.println("请输入星期几的第二个字母:");
String secondLetterT = scanner.nextLine().trim().toUpperCase();
if (secondLetterT.equals("U")) {
System.out.println("今天是星期二");
} else if (secondLetterT.equals("H")) {
System.out.println("今天是星期四");
} else {
System.out.println("输入错误,请重新输入!");
}
break;
// 其他case类似处理
default:
System.out.println("输入错误,请重新输入!");
break;
}scanner.close();关闭 Scanner 对象,释放资源。
M:今天是星期一T,然后输入 U:今天是星期二T,然后输入 H:今天是星期四W:今天是星期三F:今天是星期五S,然后输入 A:今天是星期六S,然后输入 U:今天是星期日输入错误,请重新输入!希望这个示例对你有帮助!如果有任何问题或需要进一步的解释,请告诉我。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。