【问题标题】:Java Program in course not workingJava程序在课程中不起作用
【发布时间】:2013-07-25 02:19:27
【问题描述】:

我一直在学习 java 课程 http://www.programmingbydoing.com,但我被困在其中一项作业上,我的代码在这里:http://pastebin.com/raw.php?i=Si49CbN9

public static void main( String[] args )
{
    Scanner keyboard = new Scanner ( System.in );
    int age;
    String name;

    System.out.println( "What is your name" );
    name = keyboard.next();

    System.out.println( "So " + name + "how old are you? ")
    age = keyboard.nextInt();

    if ( age < 16 );
    {
        System.out.println( "You cant drive");
    }

    else ( age <= 17 );
    {
        System.out.println( "You can drive, but not vote." );
    }

    else ( age <= 24 );
    {
        System.out.println( "You can vote but not rent a car" );
    }

    else if
    {
        System.out.println( "You can do pretty much anything" );
    }
}

作业是: 使用 if 语句、else if 和 else 语句,使程序根据给定的年龄显示不同的消息。

年龄消息 小于 16 “你不能开车。” 16 至 17 “你可以开车但不能投票。” 18 到 24 “你可以投票但不能租车。” 25 岁或以上“你几乎可以做任何事情。”

请注意,与最初的“你多大了”作业不同,此程序必须只显示给定年龄的一条消息,而不是多条消息。

【问题讨论】:

  • 你到底在坚持什么?
  • @JunedAhsan,代码或多或少是通过提供指向 pastebin 的链接发布的
  • 您的最后一个“else if”您没有为 if 提供足够的参数。删除 if 或提供参数。在其他 else 语句中的语句之前也缺少 if。
  • 也许您还应该提及javac 给您的错误。我们不能/不会猜到它们。
  • 请学习在 IDE 环境中工作。 Java 的主要示例是 Netbeans 和 Eclipse。这将确保您不必(经常)在此类网站上询问编译器错误。

标签: java if-statement


【解决方案1】:

试试这个,

  if (age < 16){
        System.out.println( "You cant drive");
    } else if (age <= 17) {
        System.out.println( "You can drive, but not vote." );
    } else if (age <= 24) {
        System.out.println( "You can vote but not rent a car" );
    } else {
        System.out.println("You can do pretty much anything");
    }

去掉所有if condition中的分号

【讨论】:

    【解决方案2】:

    你有一个语法错误。

    请尝试:

    if ( age < 16 )
    {
        System.out.println( "You cant drive");
    }
    else if ( age <= 17 )
    {
        System.out.println( "You can drive, but not vote." );
    }
    else if ( age <= 24 )
    {
        System.out.println( "You can vote but not rent a car" );
    }
    else 
    {
        System.out.println( "You can do pretty much anything" );
    }
    

    可以学习if/then/else语句here

    【讨论】:

    • 我不明白为什么这个答案被否决,因为它是实际的解决方案。即使有一个适当的解释也很好。
    • @skiwi 它最初有假分号 - 现在看起来更好
    • 我是反对者之一,我这样做是因为它只是鱼,而不是鱼竿 - 换句话说,它没有解释为什么或什么地方出了问题。对于“此答案无用”的情况,建议投反对票。鉴于提问者正在学习 Java 课程,因此只说应该如何完成而不解释任何内容是没有用的。
    • @mthmulders 我现在在下面添加了一些链接.. 希望提问者可以学到一些东西.. :)
    【解决方案3】:

    语法错误。您不能将条件语句附加到关键字else。 请参考以下代码:

    if ( age < 16 )
        {
            System.out.println( "You cant drive");
        }
    
        else if( age <= 17 )
        {
            System.out.println( "You can drive, but not vote." );
        }
    
        else if ( age <= 24 )
        {
            System.out.println( "You can vote but not rent a car" );
        }
    
        else
        {
            System.out.println( "You can do pretty much anything" );
        }
    

    【讨论】:

      【解决方案4】:
      if(age>24) {
           {
                  System.out.println( "You can do pretty much anything" );
              }
      
      }
       if( age >= 17 && age<=24 )
      {
          System.out.println( "You can vote but not rent a car" );
      }
      
      if( age <= 17 && age>=16 )
       {
      System.out.println( "You can drive, but not vote." );
      }
       if ( age<16 )
        {
           System.out.println( "You cant drive");
         }
      

      【讨论】:

        【解决方案5】:

        看起来您已经交换了“else”和“else if”语句。 “else”语句不应该采用“else if”语句应该的条件。也没有“;”条件后。 IE。应该是:

        if (age < 16) {
        ...
        } else if (age <= 17 ) {
        ...
        } else {
        ...
        }
        

        【讨论】:

          【解决方案6】:

          多个问题

          if ( age < 16 ) {   //SEE NO ; here. ; makes end of statement 
              System.out.println( "You cant drive");
          }
          else if( age <= 17 ) {
             //something else
          }
          

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2012-12-06
            • 2016-05-25
            • 2011-08-30
            • 1970-01-01
            相关资源
            最近更新 更多