简体   繁体   English

布尔返回类型的方法在main()内部不起作用

[英]Method with boolean return type not working inside main()

I had static method which is to find out prime number and it is working fine but the same method i am trying to keep inside main method it is throwing errors by stating illegal modifiers for parameter and void method does not return value the same code is working fine outside of main method, any one plz sugggest me why it is not working in main() . 我有一个静态方法,可以找出质数,并且工作正常,但是我试图保留在main方法中的相同方法却通过声明参数的非法修饰符而抛出了错误,并且void方法未返回相同的代码在main方法之外很好,任何人都建议我为什么它在main()中不起作用。 Thanks ..!! 谢谢 ..!!

My method 我的方法

public static boolean isPrimeNumber(int number) {
        if (number == 2 || number == 3) {
            return true;
        }
        if (number % 2 == 0) {
            return false;
        }
        int sqrt = (int) Math.sqrt(number) + 1;
        for (int i = 3; i < sqrt; i += 2) {
            if (number % i == 0) {
                return false;
            }
        }
        return true;
    }

Inside main() with lot of error message inside main 在main()有很多错误信息的内部主

Solution

Thanks Logan --- need to add methods outside main method my working code is added below 谢谢洛根---需要在主要方法之外添加方法我的工作代码添加如下

public class Squar {

    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        int num = scan.nextInt();
        Squar s = new Squar();
        //System.out.println(s.isPrime(num));
        scan.close();
        System.out.println("M2 "+s.isPrimeNumber(num));


    }
    public  boolean isPrimeNumber(int number) {
        if (number == 2 || number == 3) {
            return true;
        }
        if (number % 2 == 0) {
            return false;
        }
        int sqrt = (int) Math.sqrt(number) + 1;
        for (int i = 3; i < sqrt; i += 2) {
            if (number % i == 0) {
                return false;
            }
        }
        return true;
    }

}

You are getting this error because Java does not support nested function. 由于Java不支持嵌套函数,因此出现此错误。 You are implementing method inside other method, that is not possible. 您正在其他方法中实现方法,这是不可能的。 to nest methods use lambdas in java 8. 嵌套方法在Java 8中使用lambda。

have a look at Can methods in java be nested and what is the effect? 看看Java中的方法可以嵌套吗,有什么作用? [closed] [关闭]

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM