Ошибка получения компиляции: "java: 9: ошибка: ';' ожидается "; - PullRequest
1 голос
/ 23 апреля 2020

Я получаю эту ошибку компиляции:

Solution.java:9: error: ';' expected
     boolean isEVen(){
                   ^

Код:

import java.util.Scanner;

public class Solution {

    public static void main (String[] args){

        Scanner s = new Scanner(System.in);

        int n = s.nextInt();

        boolean isEVen(){
            return n%2==0;
        }


        if (isEVen() && n<=5 && n>=2){
            System.out.println("Not Weird");
        }else{
            if(!isEVen()){

                System.out.println("Weird");

            }else{
                if(isEVen() && n>=6 && n<=20){

                    System.out.println("Weird");

                } else{
                    if (isEVen() && n>20){

                        System.out.println("Not Weird");

                    } 
                }
            }

        }
    }    
}

Где я должен поставить точку с запятой?

Ответы [ 2 ]

2 голосов
/ 23 апреля 2020

Обновите ваш код, как показано ниже.

  • Переместите метод isEVen () за пределы основного метода и передайте ему значение int n в качестве параметра.
import java.util.Scanner;

public class Solution {
    public static void main(String[] args) {

        Scanner s = new Scanner(System.in);
        int n = s.nextInt();

        if (isEVen(n) && n <= 5 && n >= 2) {
            System.out.println("Not Weird");
        } else {
            if (!isEVen(n)) {

                System.out.println("Weird");

            } else {
                if (isEVen(n) && n >= 6 && n <= 20) {

                    System.out.println("Weird");

                } else {
                    if (isEVen(n) && n > 20) {

                        System.out.println("Not Weird");

                    }
                }
            }

        }
    }

    static boolean isEVen(int n) {
        return n % 2 == 0;
    }
}
0 голосов
/ 23 апреля 2020

Другой подход - переместить всю обработку за пределы основного метода в сам класс Solution:

import java.util.Scanner;

public class Solution
{

    protected boolean isEVen(int n)
    {
        return n % 2 == 0;
    }

    protected void doSomething()
    {
        Scanner s = new Scanner(System.in);
        int n = s.nextInt();

        if (isEVen(n) && n <= 5 && n >= 2)
        {
            System.out.println("Not Weird");
        }
        else
        {
            if (!isEVen(n))
            {
                System.out.println("Weird");
            }
            else
            {
                if (isEVen(n) && n >= 6 && n <= 20)
                {
                    System.out.println("Weird");
                }
                else
                {
                    if (isEVen(n) && n > 20)
                    {
                        System.out.println("Not Weird");
                    }
                }
            }
        }
    }

    public static void main(String[] args)
    {
        Solution s = new Solution();
        s.doSomething();
    }
}
...