gpt4 book ai didi

Java月份映射程序

转载 作者:行者123 更新时间:2023-12-01 11:08:45 25 4
gpt4 key购买 nike

嘿,大家好,我应该编写一个 Java 代码,能够将月份名称打印到相应的月份编号,反之亦然......如果输入无效,程序应该只打印一条错误消息。其他要求是 switch 语句和静态类方法 boolean 来确定输入的类型。不幸的是,我不知道如何确定数据类型以及如何对字符串使用 switch 语句...这就是我到目前为止所做的,它适用于第一部分:

import java.util.Scanner;

public class MonthMapping{

public static boolean isMonthNumber(String month) {

int monthnumber = Integer.parseInt(month);

if((monthnumber >= 1) && (monthnumber <= 12)) {
return true;
}

else {
return false;
}
}

public static void main(String [] args){

Scanner sc = new Scanner(System.in);


System.out.print("Enter month: ");
int month = sc.nextInt();

String monthString;

switch (month) {
case 1: monthString = "January";
break;
case 2: monthString = "February";
break;
case 3: monthString = "March";
break;
case 4: monthString = "April";
break;
case 5: monthString = "May";
break;
case 6: monthString = "June";
break;
case 7: monthString = "July";
break;
case 8: monthString = "August";
break;
case 9: monthString = "September";
break;
case 10: monthString = "October";
break;
case 11: monthString = "November";
break;
case 12: monthString = "December";
break;
default: monthString = "Invalid month";
break;
}

System.out.println(monthString);

}


}

有人能给我第二部分的解决方案吗?或者至少有一些如何做的提示?

最佳答案

检查数据类型

您可以创建如下方法来检查输入类型:

public static boolean isString(Object input){
try{
String str = (String) input;
return true;
}catch(ClassCastException ex){
return false;
}
}

考虑以下情况:

输入: false,输出:(返回 false)

输入:“January”,输出:(返回 true)

输入:43,输出:(返回 false)

返回 False 是因为强制转换不起作用,当抛出该异常时,会抛出 ClassCastException,它会被 catch 子句捕获,该子句捕获 Exception 类型及其各自子类的异常,这就是返回 false 的原因。

当类转换成功时,与第二种情况一样返回 true。

<小时/>

使用字符串切换语句

switch 语句的使用方式与您已经使用过的类似,但是数据类型已更改为...字符串,正如您所假设的那样。

switch(/*Enter String to be tested*/){

case /*String 1*/: //Logic if String to be tested is equal to logic 1.
//Optional break statements.
case /*String 2*/: //Logic if String to be tested is equal to logic 2.
//Optional break statements.
default: //Logic if the String to be tested is not equal to any of the case strings.

关于Java月份映射程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32613682/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com