如何调用java方法

时间:2012-04-04 23:26:45

标签: java

我是java编码的新手。我很难找到如何将我的main方法与确定值是否为素数的方法相关联的方法。当我在eclipse中运行下面的代码时,该方法似乎根本不执行。有谁知道我做错了什么?

另外,对于最后一部分,我考虑让System.out打印输入值是否为素数。即truefalse即可。

import java.util.*;

class IsPrime {
    public boolean isprime(int n) {
        Scanner input1= new Scanner(System.in);
        System.out.println("input single integer?");

        int n1 = input1.nextInt();

        int i,c=0;

        for(i=1;i<=n1;i++) {
            if(n1%i==0){
                c++;
            }
        }
        if(c==2) {
            return true;
        } else {
            return false;  
        }
        System.out.println("Your number is:")
    }
}

4 个答案:

答案 0 :(得分:2)

该行

   System.out.println("Your number is:") 
因为你有

无法访问

else {
return false;
}

之前。

答案 1 :(得分:2)

首先,Strawberry和appclay所说的是对的。

另一方面,你的方法isprime是一个实例方法,而你的main(我想你在讨论主类的方法)是一个类(静态)方法。

尝试以下方法:

public static void main(String[] args) {
    int possiblePrime = // initialise your parameter
    IsPrime isPrime = new IsPrime();
    boolean primeOrNot = isPrime.isprime(possiblePrime);
    System.out.println("Your number is prime: " + primeOrNot);
}

答案 2 :(得分:0)

如果我理解您正在寻找的是实现isprime方法并在主要方法中调用它。

class IsPrime {
    public boolean isPrime(int n) {
        int i,c=0;

        for(i=1;i<=n;i++) {
            if(n%i==0){
                c++;
            }
        }
        if(c==2) {
            return true;
        } else {
            return false;  
        }
    }
    public static void main(String[] args) {
        Scanner input1= new Scanner(System.in);
        System.out.println("input single integer?");

        int n = input1.nextInt();
        IsPrime isPrime = new IsPrime();
        System.out.println("Your number is prime: " + isPrime.isPrime(n));
    }
}

那应该做你想做的事。但是,您的代码中存在错误。 你所拥有的将为所有数字而不仅仅是素数返回true。我会留给你发现错误和修复。

编辑:没有错误。见下面的评论。

答案 3 :(得分:0)

将您的方法更改为静态,您可以在不创建该类的实例的情况下引用它

public static boolean isprime(int n) {