构造函数Rational中的Rational不能应用于给定的类型?

时间:2013-01-19 02:04:40

标签: java constructor rational-number fractions

所以这个程序的要点是创建一个Rational类,这样当你运行它时,会出现一个GUI输入并要求分子和分母。然后它将返回减少的分数。但我不断收到此错误消息,我不知道为什么。这是迄今为止的计划:

import javax.swing.JOptionPane;


public class lab8
{
public static void main (String args[])
{
    String strNbr1 = JOptionPane.showInputDialog("Enter Numerator ");
    String strNbr2 = JOptionPane.showInputDialog("Enter Denominator ");

    int num = Integer.parseInt(strNbr1);
    int den = Integer.parseInt(strNbr2);

    Rational r = new Rational(num,den);
    JOptionPane.showMessageDialog(null,r.getNum()+"/"+r.getDen()+" equals "+r.getDecimal());

    System.exit(0);
}
}



class Rational
{
private int num;
private int den;

public Rational()
{
    num = 0;
    den = 1;
}
public double getNum()
{
    return num;
}

public int getDen()
{
    return den;
}
 }

1 个答案:

答案 0 :(得分:2)

您正在尝试调用不存在的构造函数。 你的类构造函数没有任何要求:

public Rational()

虽然应该要求2个整数:

public Rational(int num, int den){
     this.num = num;
     this.den = den;
}

所以你可以将numden传递给它,就像你想要的那样

Rational r = new Rational(num,den);