【发布时间】:2017-06-28 02:28:10
【问题描述】:
如果用户输入字符串,例如“Sunday”,如何将“Sunday”分配给 int 值(例如零)?
编辑: 这是经过 x 天后计算星期几的最终代码。不确定这是否是最有效的方法。
感谢大家的专业知识!
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.print("Enter today's day: ");
String day = input.next();
int todayDay = changeToString(day);
System.out.println(todayDay);
}
public static int changeToString(String day) {
int dayName = 0;
switch (day) {
case "Monday":
dayName = 1;
break;
case "Tuesday":
dayName = 2;
break;
case "Wednesday":
dayName = 3;
case "Thursday":
dayName = 4;
case "Friday":
dayName = 5;
case "Saturday":
dayName = 6;
}
int dayselapsed = input.nextInt();
int futureday = (dayName + dayselapsed) % 7;
switch (futureday) {
case 0: System.out.println("In " + dayselapsed + " days, it will be Sunday");
break;
case 1: System.out.println("In " + dayselapsed + " days, it will be Monday");
break;
case 2: System.out.println("In " + dayselapsed + " days, it will be Tuesday");
break;
case 3: System.out.println("In " + dayselapsed + " days, it will be Wednesday");
break;
case 4: System.out.println("In " + dayselapsed + " days, it will be Thursday");
break;
case 5: System.out.println("In " + dayselapsed + " days, it will be Friday");
break;
case 6: System.out.println("In " + dayselapsed + " days, it will be Saturday");
break;
}
return 0;
}
}
【问题讨论】:
-
你的例子只是一个例子吗?还是你的问题?可以使用多种策略,具体取决于您的具体情况、本地化、日期相关、数学相关等。
-
如果使用 java 8 检查这个stackoverflow.com/questions/18232340/…
-
我想为用户输入的一周中的每一天分配一个 int 值(例如,如果用户输入“Sunday”,则将其分配给我选择的一个 int 值 - 零)。这样我就可以用零执行特定的计算,只有当用户输入“星期日”时。如果用户输入“星期一”,我将执行相同的计算,但使用 int 值 1。我想知道如何将“星期一”分配给 1,将“星期二”分配给 2,等等。
-
Tim 已经关闭了它,我无法回答这个问题,但最简单的方法是使用 JDK 中内置的名称。然后,您只需两行即可完成。
List dayNames = Arrays.asList(new DateFormatSymbols().getWeekdays()); return dayNames.indexOf(day) - 1;