Ошибка: неверное начало выражения и ";" ожидаемый - PullRequest
0 голосов
/ 05 мая 2018

Вопрос: когда собака лает и когда она до 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););
    }
}

Ответы [ 2 ]

0 голосов
/ 05 мая 2018

Создайте экземпляр 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 в желаемое время или нет.

0 голосов
/ 05 мая 2018
  1. Пожалуйста, убедитесь, что ваш метод main () имеет правильную подпись.
  2. Вы вызываете метод и, следовательно, не должны предоставлять модификатор доступа. Вы указываете модификатор доступа только при объявлении.
  3. Удалите дополнительные ; во время разговора.

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