代码抛出以下错误:类Fraction中的方法greatCommonDivisor无法应用于给定类型;
然后跟着


  必需:int,int找到:无参数原因:实际和正式
  参数列表的长度不同


我不确定为什么会出现错误,所以我尝试更改一些方法而没有运气


class Fraction{
    private int numerator;
    private int denominator;

    public Fraction(int _num1, int _num2){
        numerator = _num1;
        denominator = _num2;
    }

    public int greatestCommonDivisor(int num1, int num2){
        int greatestCommon = 1;
        for(int i = 1; i <= num1 && i <= num2; i++){
            if(num1 % i == 0 && num2 % i == 0)
            greatestCommon = i;}
            return greatestCommon;
        }
}

public class testing2
{
    public static void main(String[] arg)
    {
        Scanner in = new Scanner(System.in);

        int num11 = in.nextInt();
        int num22 = in.nextInt();

        Fraction gcd = new Fraction(num11, num22);
        System.out.println(gcd.greatestCommonDivisor());
    }
}

最佳答案

原因很简单:

你必须像这样调用方法

System.out.println(gcd.greatestCommonDivisor(num11, num22));


为什么?

因为您的方法定义为

int greatestCommonDivisor(int num1, int num2)


因此,只需传递您使用扫描仪读取的参数即可! :)

关于java - 分数类不能应用于给定类型?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/58619479/

10-10 03:37