2015-09-27 46 views
-1

我必須編寫一個基於英國超速罰款的程序。因此,如果駕駛員在3年內得到12個或更多的罰分,並且如果他/她仍然在2年內通過駕駛考試,他/她將被取消駕駛資格,他/她的駕駛執照將會被撤銷(撤回),如果他/她建立6個或更多的懲罰點。Java if語句邏輯&&運算符給出錯誤

這裏是我的程序:

package lesson1; 
import java.util.*; 
public class MyClass{ 

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


    speeding_penalties(13,2); 


} 

public static void speeding_penalties(int points, int years){ 


    if((points=>12)&& (years<=3)){ 
     System.out.println("disqualified"); 

    } 

    else if((points=>6)&& (years<=2)){ 
     System.out.println("revoked driving license"); 
    } 


    } 
} 

的問題是,我在if語句得到一個錯誤,給了我以下錯誤:

`操作& &是未定義的參數類型(s)int,boolean'

編輯: 謝謝大家的答案!我通過將運算符更改爲> =來編輯程序,但仍然在編譯程序時,打印語句未出現。

+4

'=>'不是Java中的運算符,而是使用'> ='。 –

回答

3

您的操作員有錯誤。 這是'>=''<='(您使用'=>')。

+0

我糾正了我的錯誤,但仍然在調用函數時,打印語句不會在編譯程序時出現。 – Tia

+0

@Diksha,我複製了你的代碼,修復了兩個'=>'錯誤,將它保存爲MyClass.java,'javac MyClass.java','java MyClass'並打印出'disqualified'。等待編譯完程序後?你也必須運行它。 – Froziph

+0

@Froziph我確實運行過它,但它不打印'不合格' – Tia

2
points=>12 

如果你仔細看,你需要寫points>=12

=>得到治療的賦值操作符,其中>=是關係運算符,它會針對給定值。

points=>12-->默默地分配值到points並返回points

points>=12-->支票points> = 12的值,並返回一個boolean

0

這是一個語法錯誤:

points=>12 

它應該是:

points>=12