-2

我的课本上有一个问题说:

编写一个方法multiple,以两个整数作为参数,如果第一个整数能被第二个整数整除(即除法后没有余数),则返回true;否则,该方法应返回 false。将此方法合并到一个应用程序中,使用户能够输入值来测试该方法。

我写了这段代码,但它不起作用:

public class project1 {

    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        int a, b;
        System.out.println("enter the first number");
        a = input.nextInt();

        System.out.println("enter the first number");
        b = input.nextInt();
    }

    public static boolean multiple(int g, int c) {

        int g, c;

        if (g % c = 0) {
            return true;
        } else {
            return false;

        };
    }
}
4

4 回答 4

5
//int g, c;
^^

删除此行..


if (g%c==0){
        ^

您需要==用于检查相等性。


您实际上也可以执行以下操作来减少几行..

public static boolean multiple(int g, int c) {
    return g%c == 0;
}
于 2013-01-23T07:13:26.060 回答
1

你的方法错误太多。它实际上应该是这样的:

public static boolean multiple(int g, int c) {
    return g % c == 0;
}
于 2013-01-23T07:14:28.917 回答
1

首先,您不需要在函数中再次声明 这是一个错误)。其次,您根本没有调用该函数,您只是实现了它。就像其他人回答的那样,您需要拥有而不是.gcmultiple===

public static void main(String[] args) {
    Scanner input = new Scanner (System.in);
    int a,b;
    System.out.println("enter the first number");
    a=input.nextInt(); 

    System.out.println("enter the first number");
    b=input.nextInt();

    boolean result = multiple(a,b);
    System.out.println(result);
}

public static boolean multiple (int g,int c){
    if (g%c==0){
        return true;
    }
    else
    {
        return false;
    }
}

请注意,您可以有一个较短的版本,multiple其中只有一行:return g%c==0;

于 2013-01-23T07:17:52.623 回答
0

除了 = 问题之外,您还要两次声明变量。尝试这个:

public static boolean multiple(int g, int c) {
    return g % c == 0;
}
于 2013-01-23T07:16:43.493 回答