For an assignment, I had to make a class that would accept fractions, but whenever I try to reference the methods in the program I get this error: "Cannot make a static reference to the non-static method". Here's part of my program:
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); }
}
How would I access these methods from the main method? Also, how would I call methods like the addition method (what would the code look like)?
Any help is greatly appreciated, thanks!