我必须写一个基于英国超速罚款的程序。因此,如果驾驶员如果在3年内累积12个或更多的罚分并且如果他/她仍然在通过他/她的驾驶考试后2年内被取消驾驶资格,他/她的驾驶执照将如果他/她累积了6个或更多的罚分,则被撤销(撤回)。
这是我的计划:
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
语句中收到错误,这会导致以下错误:
`运营商&amp;&amp;未定义参数类型int,boolean&#39;
编辑: 谢谢大家的答案!我已经通过将运算符更改为&gt; =来编辑程序,但是当我编译程序时,打印语句没有出现。
答案 0 :(得分:3)
您的运营商有误。
它是'>='
和'<='
(您使用'=>'
)。
答案 1 :(得分:2)
points=>12
如果你仔细看,你需要写points>=12
=>
被视为赋值运算符,其中>=
是关系运算符,它检查给定值。
points=>12
-->
默默地将值分配给points
并返回points
。
points>=12
-->
检查points
&gt; = 12的值并返回boolean
。
答案 2 :(得分:2)
您使用过非运营商。
以下是java运算符的摘要:
https://docs.oracle.com/javase/tutorial/java/nutsandbolts/opsummary.html
这里重要的是:
>=
大于或等于
<=
小于或等于
=>
正如您所使用的那样。
答案 3 :(得分:0)
这是语法错误:
points=>12
应该是:
points>=12