如果没有错误就行了一行

时间:2013-11-21 02:46:04

标签: java if-statement

我正在得到一个没有,如果错误在最后的其他,并且似乎无法做任何事情。任何人都可以告诉我什么似乎是问题?谢谢!

public class FindMin
{
public static void main(String[] args)
{
    Scanner keyboard = new Scanner(System.in);

    int smallest = 9999999;
    String userInput;
    boolean quit = false;

    System.out.println("This program finds the smallest number"
        + " in a series of numbers");
    System.out.println("When you want to exit, type Q");

    while(quit != True)
    {
        System.out.print("Enter a number: ");
        userInput = keyboard.next();
        if(userInput.equals("Q")) userInput.equals("q");
        {
            if (quit = true);

           }
           else            

          { 

             int userNumber = Integer.parseInt(userInput);

            if(UserNumber < smallest)
                smallest = userNumber;
        }
    }
    System.out.println("The smallest number is " + smallest);
    System.exit(0);
}
}

2 个答案:

答案 0 :(得分:2)

if (quit = true);

删除分号,添加==

结果:

if(quit == true) {

}

= =&gt;分配
== =&gt;比较

或者,简写:

if(quit) {

}

== true会自动隐含。

由于那里没有代码,你可以简单地做到这一点,以避免出现空状态。

if(!quit) {
   // usernumber & related stuff
}

此外:

while(quit != True)

应该是

while(quit != true)

或简写:

while(!quit) {

}

if(UserNumber < smallest)

应该是

if(userNumber < smallest)

最后:

int smallest = 9999999;

使用

更安全
int smallest = INTEGER.MAX_VALUE;

一个小小的注意事项:您永远不会将false值设置为quit,因此它将成为永久循环。

最后一点,我保证:

这(不编译)

if(userInput.equals("Q")) userInput.equals("q");

可以改写为

if(userInput.equalsIgnoreCase("Q"));

答案 1 :(得分:1)

试试这个:

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner keyboard = new Scanner(System.in);

        int smallest = 9999999;
        String userInput;

        System.out.println("This program finds the smallest number"
                + " in a series of numbers");
        System.out.println("When you want to exit, type Q");

        while (true) {
            System.out.print("Enter a number: ");
            userInput = keyboard.next();
            if (userInput.equals("Q") || userInput.equals("q")) {
                System.exit(0);
            }
            smallest = Math.min(smallest, Integer.parseInt(userInput));
            System.out.println("The smallest number is " + smallest);
        }
    }
}

您的解决方案有许多语法错误,如其他用户所述。此外,您错过了检查最小数字的例程。