【发布时间】:2016-04-04 06:46:13
【问题描述】:
对于分配,我必须创建一个可以接受分数的类,但是每当我尝试引用程序中的方法时,我都会收到此错误:“无法对非静态方法进行静态引用”。这是我的程序的一部分:
public class Fraction {
public static void main(String[] args) {
Scanner keyboard = new Scanner(System.in);
String operator;
System.out.println("What is your numerator?");
long num = keyboard.nextInt();
System.out.println("What is your denominator?");
long denom = keyboard.nextInt();
System.out.println("Your current fraction is: " + toString());
keyboard.close(); }
private long numerator;
private long denominator;
public Fraction() { //constructs fraction 0/1
numerator = 0;
denominator = 1; }
public Fraction(long num){ //constructs fraction n/1
numerator = num;
denominator = 1; }
public Fraction(long num, long denom){ //constructs fraction n/d
numerator = num;
if (denom == 0){ //make sure denom isn't 0
throw new ArithmeticException(); }
else{
denominator = denom; }
setSign(); }
public void add(Fraction fraction){ //addition
if(fraction.denominator == this.denominator){
this.numerator += fraction.numerator; }
else{
this.numerator *= fraction.denominator;
this.denominator *= fraction.denominator;
long temp = fraction.numerator * this.denominator;
this.numerator += temp; } }
public String toString(){ //returns fraction as string
return (numerator + "/" + denominator); }
}
如何从 main 方法访问这些方法?另外,我该如何调用加法之类的方法(代码会是什么样子)?
非常感谢任何帮助,谢谢!
【问题讨论】:
-
您希望打印什么代码?