我是 Java 新手,正在学习它。我遇到了这个问题,我想理解它。
如何编写一个具有 2 个字段的 Java 类,其中包含以下信息:
- 房间号(字符串)
- MeetDays(字符串)
MeetDays 将星期日视为第一天。用户应输入类(class)每天聚会的天数。
示例: 如果周二和周四上课,用户将输入 35。如果用户输入无效的数字范围,例如“11”或“233”等,则会抛出异常。
我想在这里做一个 switch 语句,但我只是不确定如何继续。我认为对于经验丰富的 Java 开发人员来说这可能是一个简单的问题。任何帮助或协助将不胜感激。
编辑:
public class SectionNumber {
private String roomNumber;
private String meetDays;
public SectionNumber() {}
public SectionNumber(String roomNumber, String meetDays) {
this.roomNumber = roomNumber;
this.meetDays = meetDays;
}
public String getRoomNumber() {
return roomNumber;
}
public void setRoomNumber(String roomNumber) {
this.roomNumber = roomNumber;
}
public String getMeetDays() {
return meetDays;
}
public void setMeetDays(String meetDays) {
this.meetDays = meetDays;
}
// not sure how to proceed here
public void classMeetDays(String userInput) {
switch (meetDays) {
case userInput:
break;
default:
break;
}
}
}
最佳答案
import java.util.ArrayList;
import java.util.List;
public class Main {
public static void main(String[] args) {
List<String> dayList = new ArrayList<String>();
int userInputNumber = 1234567;
String userInputAsString = String.valueOf(userInputNumber);
for (int i = 0; i < userInputAsString.length(); i++) {
char dayAsNumericChar = userInputAsString.charAt(i);
String day;
switch (dayAsNumericChar) {
case '1':
day = "Sunday";
break;
case '2':
day = "Monday";
break;
case '3':
day = "Tuesday";
break;
case '4':
day = "Wednesday";
break;
case '5':
day = "Thursday";
break;
case '6':
day = "Friday";
break;
case '7':
day = "Saturday";
break;
default:
throw new RuntimeException("Invalide number: " + dayAsNumericChar);
}
if (dayList.contains(day)) {
throw new RuntimeException("Day: " + day + " is picked twice");
}
dayList.add(day);
}
System.out.println(userInputAsString);
for (String s : dayList) {
System.out.println(" -> " + s);
}
}
}
关于java - 如何编写一个 Java 类,将用户输入的数字数据解释为星期几,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37015511/