错误:表达式非法开始,预期";"



>问题:当狗吠叫时,当它在早上 8 点或晚上 22 点之前时,返回 true,否则返回 false。

我的代码:

public class Barkingdog {
public boolean bark(boolean barking, int hourofDay) {
if (barking) {
if (hourofDay >= 0 && hourofDay <= 8) {
return true;
} else if (hourofDay >= 22 && hourofDay < 24) {
return true;
} else {
return false;
}
} else {
return false;
}
}
}

尝试测试我的代码:

package com.company;
public class Main {
public static boolean main(String[] args) {
// write your code here
System.out.println(public boolean bark (true, 4););
}
}

创建一个Barkingdog实例并从中调用bark方法:

public static void main(String[] args) {
Barkingdog dog = new Barkingdog();
System.out.println(dog.bark(true, 4));
}

另外,请使用正确的 Java 命名约定。类应使用驼峰大小写:

public class BarkingDog { ... }

您也可以简单地使用bark方法的逻辑:

public boolean bark(boolean barking, int hourOfDay) {
boolean morning = hourOfDay >= 0 && hourOfDay <= 8;
boolean night = hourOfDay >= 22 && hourOfDay < 24;
return barking && morning || night;
}

bark似乎不是这种行为的正确名称。

boolean barking表示狗是否真的在吠叫,并且由于barking可能是false,因此调用dog.bark(false, 8)可能会导致混淆:我们告诉狗执行bark的行为,但狗没有吠叫(由false参数指定(。

可能希望为行为选择一个更具描述性的名称,例如isBarkingUnderirably,我们正在检查barking是否在理想的时间发生。

  1. 请确保您的 main(( 方法具有正确的签名。
  2. 您正在调用该方法,因此不需要提供访问修饰符。仅在声明时指定访问修饰符。
  3. 在呼叫时删除额外的;

    public static void main(String[] args) {
    // write your code here
    System.out.println(bark(true, 4));
    }
    

最新更新