Java 每周几天的If Else计划
我需要帮助做家庭作业。我需要编写一个使用if-else语句而不是switch语句的程序,如下所示:Java 每周几天的If Else计划,java,Java,我需要帮助做家庭作业。我需要编写一个使用if-else语句而不是switch语句的程序,如下所示: switch (day) { case 1: case 2: case 3: case 4: message = "regular workday"; break; case 6: case 7: message = "weekend"; break; default: message = "tgif"; } 我需要允许用户输入一周中的哪一天,然后显示相应
switch (day) {
case 1: case 2: case 3: case 4:
message = "regular workday";
break;
case 6: case 7:
message = "weekend";
break;
default:
message = "tgif";
}
我需要允许用户输入一周中的哪一天,然后显示相应的输出。我还需要确保它测试输入的有效数字(1-7)。用户需要能够输入任意多个不同的日期,并在输入值(-1)时结束程序
到目前为止,我有:
public class Question1 {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner input = new Scanner(System.in);
int day;
do {
System.out.println("What day of the week do you want to enter? When finished, please enter \"-1\".");
day = input.nextInt(); //User input assigned to variable day
if (day == 1 || day == 2 || day == 3 || day == 4) {
System.out.println("Regular workday");
}
else if (day == 6 || day == 7) {
System.out.println("Weekend");
}
else if (day == 5) {
System.out.println("TGIF");
}
else {
System.out.println("Invalid Month. Please try again or enter \"-1\" when finished.");
}
} //end do
while (day != -1); //Loops when input meets the criteria
}
}
问题:我遇到的问题是,当我输入-1结束程序时,它将其作为else,并在我只希望程序结束时打印else语句。尝试将行
else{
替换为else if(day!=-1){
。这将触发任何不满足先前条件的数字的分支,或者是-1您可以在else块内重新测试输入,并返回false和/或跳转到quitProgram part,然后再显示错误消息。那么,您的代码有什么问题吗?是否有错误?输出不正确?是,一定要告诉我们出了什么问题。还要修复显示“无效月份”的部分.:)尝试将else
替换为else if
,并包含一个条件,当输入为-1时,该条件将计算为false。结果表明-1实际上不是1、2、3、4、5、6甚至7!请不要破坏您的帖子。通过在Stack Exchange网络上发布,您已授予SE分发该内容的不可撤销权利(根据)。根据SE政策,任何故意破坏行为都将被恢复。如果您想解除此帖子与您帐户的关联,请参阅