我正在努力为java完成我的理性课程,并且我希望它完成的所有内容都没有完全相同。我知道我可以使用其他程序,但是我所看到的那些程序在你运行程序时输入的位置并没有。这是我到目前为止的代码
import java.util.Scanner;
public class Lab09ast
{
private static int num, den; // numerator and denominator of the rational number
public static void main (String[] args)
{
enterData();
Rational r = new Rational(num,den);
r.displayData();
}
public static void enterData()
{
Scanner input = new Scanner(System.in);
System.out.print("\nEnter the numerator ----> ");
num = input.nextInt();
System.out.print("\nEnter the denominator --> ");
den = input.nextInt();
}
}
class Rational
{
public void displayData()
{
System.out.println();
System.out.println(getNum() + "/" + getDen() + " equals " + getDecimal());
System.out.println();
}
private void getGCF(int n1,int n2)
{
int rem = 0;
do
{
rem = n1 % n2;
if (rem == 0)
gcf = n2;
else
{
n1 = n2;
n2 = rem;
}
}
while (rem != 0);
}
}
答案 0 :(得分:1)
成员变量num
和den
(分子和分母)属于班级Lab09ast
。这些应该在班级Rational
。您了解classes and objects的概念吗?
从类Rational
创建的Rational
对象具有分子和分母的成员变量,这是合乎逻辑的。
此外,这些成员变量不能是static
。请参阅Understanding Class Members,了解static
的含义以及不适合这些成员变量的原因。
方法getNum()
和getDen()
应该返回num
和den
成员变量的值,并且也应该在类Rational
中。
对于分子和分母,类Rational
也应该constructor takes two arguments。您已经在类main
的{{1}}方法中调用了该构造函数,但它尚未在您的班级Lab09ast
中。