Java中的其他if语句不起作用,我在做什么错?

时间:2020-09-11 17:18:56

标签: java if-statement

所以我试图用if-else-if语句做一个简单的代码,但是它不起作用。我以前只是做过if-else,而我感到困惑。这是代码。为什么不接受我的else-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.");}
}}

3 个答案:

答案 0 :(得分:1)

  1. 如果您希望进行任何比较以书面形式进行工作,则需要String daysc.nextLine()

  2. if和else if行是否不应该使用;-更容易查看是否像这样写

     if (condition) {
    
     }
    

答案 1 :(得分:0)

谢谢大家,我在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.");}
}}

答案 2 :(得分:-1)

与else-if无关。 您将获得一个双输入(sc.nextDouble()),然后将其与String进行比较。 永远不会如此,因此else将始终被称为

相关问题