所以我试图用if-else-if语句编写一个简单的代码,但它不起作用。我以前只做过其他事情,现在我很困惑。这是代码。为什么它不接受我的其他if?
import java.util.Scanner;
public class DaysOfWeek {
public static void main (String[]args) {
Double day;
System.out.print("Enter the day: ");
Scanner sc = new Scanner(System.in);
day = sc.nextDouble();
if (day.equals("Monday"));
{
System.out.println("Sounds like someone has a case of the Mondays!");
}
else if (day.equals("Wednesday"));
{
System.out.println("It's hump day! El ombligo!");
}
else if (day.equals("Friday"));
{
System.out.println("Finally. It's Friday!");
}
else {System.out.println("It's another day of the week.");}
}}
-
如果希望任何比较都能像编写的一样工作,则需要
String day
和sc.nextLine()
-
if和else if行不应该使用
;
-更容易看到你是否像一样写if (condition) { }
感谢大家在if-else-if行的末尾快速指出我的分号。此外,感谢你在绳子上的接球,而不是加倍,我知道这一部分,但忽略了它,因为我对if-else-if线的混乱感到太沮丧了。一旦我纠正了这两个问题,它就完全按照我的意图工作了。
为了进行正确的比较,字符串day和sc.nextLine((替换了Double。
从我的if-else-if行末尾删除。
我还添加了一点,以便在进入的几天内进行各种选择
import java.util.Scanner;
public class DaysOfWeek{
public static void main (String[]args) {
String day;
System.out.print("Enter the day: ");
Scanner sc = new Scanner(System.in);
day = sc.nextLine();
if (day.equals("Monday")||day.equals("M")||day.equals("Mon.")||day.equals("Mon"))
{
System.out.println("Sounds like someone has a case of the Mondays!");
}
else if (day.equals("Wednesday")||day.equals("W")||day.equals("Wed.")||day.equals("Wed"))
{
System.out.println("It's hump day! El ombligo!");
}
else if (day.equals("Friday")||day.equals("F")||day.equals("Fri.")||day.equals("Fri"))
{
System.out.println("Finally. It's Friday!");
}
else {System.out.println("It's another day of the week.");}
}}