2011-07-02 41 views
1

我剛剛接觸編程,並且正在做一些實踐。在這個練習中,我應該寫一個程序,從程序的用戶那裏讀取三個數字。該程序應該找到最小的數字,並打印哪一個是最小的數字。 這裏是我的代碼:錯誤消息:運算符<不能應用於布爾值,int

import javax.swing.JOptionPane; 

public class Smallestnumber 
{ 
    public static void main(String args[]) 
    { 
    // Defining variables: 
    String firstnumberstring; 
    String secondnumberstring; 
    String thirdnumberstring; 
    String result; 
    int firstnumber; 
    int secondnumber; 
    int thirdnumber; 

    // Making input frames: 
    firstnumberstring = JOptionPane.showInputDialog("Write first number!"); 
    secondnumberstring = JOptionPane.showInputDialog("Write second number!"); 
    thirdnumberstring = JOptionPane.showInputDialog("Write third number!"); 

    // Converting stringvalues to int values: 
    firstnumber = Integer.parseInt(firstnumberstring); 
    secondnumber = Integer.parseInt(secondnumberstring); 
    thirdnumber = Integer.parseInt(thirdnumberstring); 

    // Initialising printstring to an empty string: 
    result = ""; 

    if (firstnumber < secondnumber < thirdnumber) 
    result = firstnumber + " is the smallest number!"; 

    if (firstnumber < thirdnumber < secondnumber) 
    result = firstnumber + " is the smallest number!"; 

    if (secondnumber < firstnumber < thirdnumber) 
    result = secondnumber + " is the smallest number!"; 

    if (secondnumber < thirdnumber < firstnumber) 
    result = secondnumber + " is the smallest number!"; 

    if (thirdnumber < firstnumber < secondnumber) 
    result = thirdnumber + " is the smallest number!"; 

    if (thirdnumber < secondnumber < firstnumber) 
    result = thirdnumber + " is the smallest number!"; 

    // Making conclusion box: 
    JOptionPane.showMessageDialog(null, result, "Conclusion:", JOptionPane.INFORMATION_MESSAGE); 

    } // End of main method 
} // End of class Smallestnumber 

這裏是錯誤消息:

Smallestnumber.java:29: operator < cannot be applied to boolean,int 
    if (firstnumber < secondnumber < thirdnumber) 
            ^
Smallestnumber.java:32: operator < cannot be applied to boolean,int 
    if (firstnumber < thirdnumber < secondnumber) 
           ^
Smallestnumber.java:35: operator < cannot be applied to boolean,int 
    if (secondnumber < firstnumber < thirdnumber) 
            ^
Smallestnumber.java:38: operator < cannot be applied to boolean,int 
    if (secondnumber < thirdnumber < firstnumber) 
            ^
Smallestnumber.java:41: operator < cannot be applied to boolean,int 
    if (thirdnumber < firstnumber < secondnumber) 
           ^
Smallestnumber.java:44: operator < cannot be applied to boolean,int 
    if (thirdnumber < secondnumber < firstnumber) 
            ^
6 errors 

我怎樣才能讓程序工作?

+0

使用'&&'''||條件運算符 – Rahul

回答

9

您不能在Java中使用thirdnumber < secondnumber < firstnumber,因爲它將其解釋爲(thirdnumber < secondnumber) < firstnumber,將truefalse與數字進行比較。

你想要的是兩個條件結合起來是這樣的:

if (firstnumber < secondnumber && secondnumber < thirdnumber) 
result = firstnumber + " is the smallest number!"; 
+0

太謝謝你了!這使它工作! :-) – user820913

+1

然後不要忘記標記這是正確的答案。 –

相關問題