Note that there are some explanatory texts on larger screens.

plurals
  1. PONeed help compiling this iteration and interface program
    text
    copied!<p>I'm trying to write this java program for a user to input two rational numbers and ask from a menu of options to compute some sort of function A. I'm stuck in a few places and don't know what else to do. I need some guidance. it wont compile. says constructor Rational is undefined and the last default is an invalid label .it is two class files were the driver files uses the rational file. both files are uploaded and separated by text. need help</p> <pre><code> import java.util.Scanner; import java.util.*; public class RationalDriver{ public static void main(String[] args){ int rationalNum1, rationalDen1, rationalNum2, rationalDen2; Scanner in = new Scanner(System.in); // first rational System.out.println(" Input first rational number for the Numerator"); rationalNum1 = in.nextInt(); System.out.println(" Input first rational number for the Denominator"); rationalDen1 = in.nextInt(); if (rationalDen1 == 0){ System.out.println(" Cannont divide by zero "); System.out.println(" please re enter another number "); } System.out.println("Rational Number #1 = ("+rationalNum1+"/"+rationalDen1+")"); //Displays 1st Rational Number // second rational System.out.println(" Input 2nd rational number for the 2nd Numerator"); rationalNum2 = in.nextInt(); System.out.println(" Input 2nd rational number for the 2nd Denominator"); rationalDen2 = in.nextInt(); if (rationalDen2 == 0){ System.out.println("Cannont divide by zero"); System.out.println(" please re enter another number"); } System.out.println("Rational Number #2 = ("+rationalNum2+"/"+rationalDen2+")"); //Displays 2nd Rational Number Rational r1 = new Rational ( rationalNum1, rationalDen1); Rational r2 = new Rational ( rationalNum2, rationalDen2); // System.out.println;//toString } public void display_menu() //menu options { System.out.print(" Enter the corresponding number for the desired action "); System.out.println("1) Addition\n2) 2) Subtraction\n3) 3) Multiplication\n4) 4)Division\n5) 5) Test for Eqaulity\n6) 6) Change 1st rational number\n7) 7) Change 2nd rational number"); } public void question() { System.out.println("Do you want to exit? [y/n]"); // ask user if they want to quit with yes or no option Scanner q = new Scanner(System.in); switch (q.nextInt()) { case 'y' : System.out.println ("Thank you and goodbye."); break; case 'n' : InputMenu(); break; default: System.err.println ( "Unrecognized option" ); break; } } public void InputMenu() // keys for the menu { Scanner in = new Scanner(System.in); display_menu(); switch (in.nextInt()) { case 1: //addition System.out.println ( "1" ); System.out.println( "("+rationalNum1+"/"+rationalDen1+")"+ " + " + " ("+rationalNum2+"/"+rationalDen2+")" + "=" + r1.add(r2)); break; case 2: //subtraction System.out.println ( "2" ); System.out.println( "("+rationalNum1+"/"+rationalDen1+")"+ " - " + "("+rationalNum2+"/"+rationalDen2+")" + "=" + r1.subtract(r2)); break; case 3: //mulitplication System.out.println ( "3" ); System.out.println( "("+rationalNum1+"/"+rationalDen1+")"+ " * " + " ("+rationalNum2+"/"+rationalDen2+")" + "=" + r1.multiply(r2)); break; case 4: //division System.out.println ( "4" ); System.out.println( "("+rationalNum1+"/"+rationalDen1+")"+ " / " + "("+rationalNum2+"/"+rationalDen2+")" + "=" + r1.divide(r2)); break; case 5: //compare to System.out.println ( "5" ); question(); break; case 6: //change the 1st Rational Number System.out.println ( "6" ); Scanner in = new Scanner(System.in); System.out.println(" Input first rational number for the Numerator"); rationalNum1 = in.nextInt(); System.out.println(" Input first rational number for the Denominator"); rationalDen1 = in.nextInt(); if (rationalDen1 == 0){ System.out.println(" Cannont divide by zero"); System.out.println(" please re enter another number"); } break; case 7: //change the 2nd Rational Number System.out.println ( "7" ); System.out.println(" Input 2nd rational number for the 2nd Numerator"); rationalNum2 = in.nextInt(); System.out.println(" Input 2nd rational number for the 2nd Denominator"); rationalDen2 = in.nextInt(); if (rationalDen2 == 0){ System.out.println("Cannont divide by zero"); System.out.println(" please re enter another number"); break; default: System.err.println ( "Unrecognized option" ); break; } } } } </code></pre> <p>Here is the class file for rational </p> <pre><code>public class Rational{ private int Numerator; private int Denominator; //constructors public Rational(){ Numerator = 1; Denominator = 1 ; } //setters //a-numerator //b-denmonator //c other.getNumerator //d-other.getDenominator public void add (Rational other){ // (ad + bc) / bd Numerator = (Numerator*other.getDenominator() + Denominator*other.getNumerator()); Denominator = (Denominator*other.getDenominator()); //Normalize(); } public void subtract (Rational other){ // (ad-bc) / bd Numerator = (Numerator*other.getDenominator() - Denominator*other.getNumerator()); Denominator = (Denominator*other.getDenominator()); //Normalize(); } public void multiply (Rational other){ // ac/db Numerator = (Numerator*other.getNumerator() / other.getDenominator()* Denominator); // Normalize(); } public void divide (Rational other){// } public int getNumerator(){ return Numerator; } public int getDenominator(){ return Denominator; } //toString //public String toString(){ //return toString()+ (rationalNum1 + "/" + rationalDen1); } </code></pre>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload