Results 1 to 20 of 23
Thread: Help with finishing code
- 12-11-2012, 03:58 PM #1
Member
- Join Date
- Nov 2012
- Posts
- 44
- Rep Power
- 0
Help with finishing code
Hey everyone, I need some help finishing up this code...any advice
Java Code:package fractions; import java.util.Scanner; public class Main { private static final int ADD = 1; private static final int SUB = 2; private static final int MULT = 3; private static final int DIV = 4; //----------------------------------------------------------------- // Gets a fraction from the user and returns it as a // Rational object //----------------------------------------------------------------- public static Rational getFraction() { // *** You have to write the entire method! *** // *** More than one line is needed! *** } //----------------------------------------------------------------- // Gets the user's choice of operation (add, subtract, multiply, // or divide) and returns it //----------------------------------------------------------------- public static int getOperation() { Scanner scan = new Scanner (System.in); System.out.println(ADD + ". Addition"); System.out.println(SUB + ". Subtraction"); System.out.println(MULT + ". Multiplication"); System.out.println(DIV + ". Division"); System.out.print("Select an operation by entering the" + " corresponding number: "); int op = scan.nextInt(); // *** Here, you need to check for a valid response. // *** If not valid, ask again until it is, then return it. } public static void main(String[] args) { System.out.println("This program allows you to add, subtract," + " multiply, or divide two fractions."); System.out.println("Enter the first fraction."); // *** How are you going to read this from the user? *** System.out.println("Enter the second fraction."); // *** How are you going to read this from the user? *** int op = getOperation(); // *** carry out the operation that was selected, *** // *** and display the result. *** } }Last edited by Tolls; 12-11-2012 at 04:04 PM. Reason: Fix code tag
- 12-11-2012, 04:05 PM #2
Moderator
- Join Date
- Apr 2009
- Posts
- 10,481
- Rep Power
- 16
Re: Help with finishing code
We're not going to write your code for you, you know.
What is your problem?
What have you done so far to solve your problem?
What errors/exceptions are you getting?
Where are you getting them?Please do not ask for code as refusal often offends.
- 12-11-2012, 04:22 PM #3
Member
- Join Date
- Nov 2012
- Posts
- 44
- Rep Power
- 0
Re: Help with finishing code
Thats why I asked for ADVICE...I never asked for you to write the entire code
- 12-11-2012, 04:28 PM #4
Member
- Join Date
- Nov 2012
- Posts
- 44
- Rep Power
- 0
Re: Help with finishing code
I did try to start at the bottom after it says:
System.out.println("Enter the first fraction.");
// *** How are you going to read this from the user? ***
I tried to add:
int ADD = scan.nextInt();
but it says that it can't find my variable scan....
but the problem is ADD is declared as a private static final int
- 12-11-2012, 04:32 PM #5
Member
- Join Date
- Nov 2012
- Posts
- 44
- Rep Power
- 0
Re: Help with finishing code
This code does have 2 files. I completed this one:
[code/]
package fractions;
/**
*
* @author 2398
*/
public class Rational
{
private int numerator, denominator;
//--------------------------------------------------------------
// Sets up the rational number by ensuring a nonzero denominator
// and making only the numerator sighned.
//--------------------------------------------------------------
public Rational (int numer, int denom)
{
if (denom == 0)
denom = 1;
if (denom < 0)
{
numer = numer * -1;
denom = denom * -1;
}
numerator = numer;
denominator = denom;
reduce();
}
//------------------------------------------------------------
// Reduces this rational number by dividing both the numerator
// and the denominator by their greatest comon divisor.
//------------------------------------------------------------
private void reduce()
{
if (numerator != 0)
{
int common = gcd (Math.abs(numerator), denominator);
numerator = numerator/common;
denominator = denominator/common;
}
}
//-----------------------------------------------------------
// Computes and returns the greates common divisor of the two
// positive parameters. Uses Euclids's algorithm.
//-----------------------------------------------------------
private int gcd(int num1, int num2)
{
while (num1 != num2)
if (num1 > num2)
num1 = num1 - num2;
else
num2 = num2 - num1;
return num1;
}
//-----------------------------------------------
// Returns the numerator of this rational number.
//-----------------------------------------------
public int getNumerator ()
{
return numerator;
}
//-------------------------------------------------
// Returns the denominator of this rational number.
//-------------------------------------------------
public int getDenominator ()
{
return denominator;
}
//------------------------------------------------
// Returns the reciprocal of this rational number.
//------------------------------------------------
public Rational reciprocal ()
{
return new Rational (denominator, numerator);
}
//------------------------------------------------------------
// Adds this rational number to the one passed as a parameter.
// A common denominator is found by multiplying the individual
// denominator.
//------------------------------------------------------------
public Rational add (Rational op2)
{
int commonDenominator = denominator * op2.getDenominator ();
int numerator1 = numerator * op2.getNumerator();
int numerator2 = op2.getNumerator() * denominator;
int sum = numerator1 + numerator2;
return new Rational (sum, commonDenominator);
}
//--------------------------------------------------------------
// Subtracts the rational number passed as a parameter from this
// rational number.
//--------------------------------------------------------------
public Rational subtact (Rational op2)
{
int commonDenominator = denominator * op2.getDenominator();
int numerator1 = numerator * op2.getDenominator();
int numerator2 = op2.getNumerator() * denominator;
int difference = numerator1 - numerator2;
return new Rational (difference, commonDenominator);
}
//-------------------------------------------------------
// Multiplies this rational number by the one passed as a
// parameter.
//-------------------------------------------------------
public Rational multiply (Rational op2)
{
int numer = numerator * op2.getNumerator();
int denom = denominator * op2.getDenominator();
return new Rational (numer, denom);
}
//--------------------------------------------------------------
// Divides this rational number by the one passed as a parameter
// by multiplying by the reciprocal of the second rational.
//--------------------------------------------------------------
public Rational divide (Rational op2)
{
return multiply (op2.reciprocal());
}
//--------------------------------------------------------------
// Determines if this rational number is equal to the one passed
// as a parameter. Assumes they are both reduced.
//--------------------------------------------------------------
public boolean equals (Rational op2)
{
return ( numerator == op2.getNumerator() &&
denominator == op2.getDenominator() );
}
//------------------------------------------
// Returns this rational number as a string.
//------------------------------------------
public String toString ()
{
String result;
if (numerator == 0)
result = "0";
else
if (denominator == 1)
result = numerator + "";
else
result = numerator + "/" + denominator;
return result;
}
}
[/code]
- 12-11-2012, 04:41 PM #6
Moderator
- Join Date
- Apr 2009
- Posts
- 10,481
- Rep Power
- 16
Re: Help with finishing code
That's the sort of question a forum like this can handle.
Or is at least likely to get an answer.
Currently your Scanner 'scan' only exists in the getOperation() method.
You could either take the declaration out of there and put it as a class attribute (a static member), or create another, local, one in the main() method.
Looking at the code, though, it seems to me this should be done in the getFraction method.Please do not ask for code as refusal often offends.
- 12-11-2012, 04:42 PM #7
Moderator
- Join Date
- Apr 2009
- Posts
- 10,481
- Rep Power
- 16
Re: Help with finishing code
Please ensure you do the code tags correctly.
Currently you seem to be doing [code/] as the opening tag...it should not have the '/'.Please do not ask for code as refusal often offends.
- 12-11-2012, 06:33 PM #8
Re: Help with finishing code
Forum Rules -- particularly the third paragraph
Guide For New Members
BB Code List - Java Programming Forum
dbWhy do they call it rush hour when nothing moves? - Robin Williams
- 12-13-2012, 04:03 PM #9
Member
- Join Date
- Nov 2012
- Posts
- 44
- Rep Power
- 0
- 12-13-2012, 04:35 PM #10
Moderator
- Join Date
- Apr 2009
- Posts
- 10,481
- Rep Power
- 16
Re: Help with finishing code
Just create a new Scanner in the getFraction method then.
The one in the getOperation method is not useable outside of that method...it is what's called a 'local' variable, local to that method.
So you need to create your own one in the getFraction method.Please do not ask for code as refusal often offends.
- 01-04-2013, 03:59 PM #11
Member
- Join Date
- Nov 2012
- Posts
- 44
- Rep Power
- 0
Re: Help with finishing code
Ok so here is what I did to the getFraction method...
Does that look right? It's not giving me an error message, but i don't know if its logically incorrectJava Code:public static Rational getFraction() { Scanner scan = new Scanner (System.in); System.out.println("Please enter the first fraction: "); Rational frac1 = getFraction(); System.out.println("Please enter the second fraction: "); Rational frac2 = getFraction(); }
- 01-04-2013, 04:33 PM #12
Member
- Join Date
- Nov 2012
- Posts
- 44
- Rep Power
- 0
Re: Help with finishing code
Ok so I changed things around a bit...heres what I got
Java Code:public class Main { private static final int ADD = 1; private static final int SUB = 2; private static final int MULT = 3; private static final int DIV = 4; public static int frac1, frac2; //----------------------------------------------------------------- // Gets a fraction from the user and returns it as a // Rational object //----------------------------------------------------------------- public static Rational getFraction() { Scanner scan = new Scanner (System.in); frac1 = scan.nextInt(); frac2 = scan.nextInt(); return new Rational (frac1, frac2); } //--------------------------------------------------------------- // Gets the user's choice of operation (add, subtract, multiply, // or divide) and returns it //--------------------------------------------------------------- public static int getOperation() { Scanner scan = new Scanner (System.in); System.out.println(ADD + ". Addition"); System.out.println(SUB + ". Subtraction"); System.out.println(MULT + ". Multiplication"); System.out.println(DIV + ". Division"); System.out.print("Select an operation by entering the" + " corresponding number: "); int op = scan.nextInt(); // *** Here, you need to check for a valid response. // *** If not valid, ask again until it is, then return it. } public static void main(String[] args) { Scanner scan = new Scanner (System.in); System.out.println("This program allows you to add, subtract," + " multiply, or divide two fractions."); System.out.println("Enter the first fraction."); frac1 = scan.nextInt(); System.out.println("Enter the second fraction."); frac2 = scan.nextInt(); int op = getOperation(); // *** carry out the operation that was selected, *** // *** and display the result. *** } }
- 01-08-2013, 04:23 PM #13
Member
- Join Date
- Nov 2012
- Posts
- 44
- Rep Power
- 0
Re: Help with finishing code
That doesn't look right....I'm really confused.... :/
- 01-08-2013, 04:44 PM #14
Member
- Join Date
- Nov 2012
- Posts
- 44
- Rep Power
- 0
Re: Help with finishing code
This is what i have done..
Java Code:public class Main { private static final int ADD = 1; private static final int SUB = 2; private static final int MULT = 3; private static final int DIV = 4; public static int frac1, frac2; //----------------------------------------------------------------- // Gets a fraction from the user and returns it as a // Rational object //----------------------------------------------------------------- public static Rational getFraction() { Scanner scan = new Scanner (System.in); frac1 = scan.nextInt(); frac2 = scan.nextInt(); return new Rational (frac1, frac2); } //--------------------------------------------------------------- // Gets the user's choice of operation (add, subtract, multiply, // or divide) and returns it //--------------------------------------------------------------- public static int getOperation() { Scanner scan = new Scanner (System.in); System.out.println(ADD + ". Addition"); System.out.println(SUB + ". Subtraction"); System.out.println(MULT + ". Multiplication"); System.out.println(DIV + ". Division"); System.out.print("Select an operation by entering the" + " corresponding number: "); int op = scan.nextInt(); // *** Here, you need to check for a valid response. // *** If not valid, ask again until it is, then return it. } public static void main(String[] args) { Scanner scan = new Scanner (System.in); System.out.println("This program allows you to add, subtract," + " multiply, or divide two fractions."); System.out.println("Enter the first fraction."); frac1 = new Rational(scan.nextInt(), scan.nextInt()); System.out.println("Enter the second fraction."); frac2 = new Rational(scan.nextInt(), scan.nextInt()); frac3 = new Rational(); int op = getOperation(); // *** carry out the operation that was selected, *** // *** and display the result. *** } }
- 01-10-2013, 04:37 PM #15
Member
- Join Date
- Nov 2012
- Posts
- 44
- Rep Power
- 0
Re: Help with finishing code
Ok, I have managed to get this far in my program....
But here is what I get for the output...Java Code:import java.util.Scanner; public class Main { private static final int ADD = 1; private static final int SUB = 2; private static final int MULT = 3; private static final int DIV = 4; public static int frac1, frac2; //----------------------------------------------------------------- // Gets a fraction from the user and returns it as a // Rational object //----------------------------------------------------------------- public static Rational getFraction() { int numer, denom; Scanner scan = new Scanner (System.in); System.out.println("Please enter the numerator: "); numer = scan.nextInt(); System.out.println("Please enter the denominator: "); denom = scan.nextInt(); return new Rational (numer, denom); } //--------------------------------------------------------------- // Gets the user's choice of operation (add, subtract, multiply, // or divide) and returns it //--------------------------------------------------------------- public static int getOperation() { Scanner scan = new Scanner (System.in); System.out.println(ADD + ". Addition"); System.out.println(SUB + ". Subtraction"); System.out.println(MULT + ". Multiplication"); System.out.println(DIV + ". Division"); System.out.print("Select an operation by entering the" + " corresponding number: "); int op = scan.nextInt(); while (op < ADD || op > DIV) { System.out.println("Sorry, that is not a valid response. Please Try again."); System.out.println(ADD + ". Addition"); System.out.println(SUB + ". Subtraction"); System.out.println(MULT + ". Multiplication"); System.out.println(DIV + ". Division"); System.out.print("Select an operation by entering the" + " corresponding number: "); } return op; } public static void main(String[] args) { Scanner scan = new Scanner (System.in); System.out.println("This program allows you to add, subtract," + " multiply, or divide two fractions."); System.out.println("Enter the first fraction."); Rational fraction1 = getFraction(); System.out.println("Enter the second fraction."); Rational fraction2 = getFraction(); int op = getOperation(); Rational result; if (op == ADD) result = fraction1.add(fraction2); else if(op == SUB) result = fraction1.subtact(fraction2); else if (op == MULT) result = fraction1.multiply(fraction2); else if (op == DIV) result = fraction1.divide(fraction2); } }
This program allows you to add, subtract, multiply, or divide two fractions.
Enter the first fraction.
Please enter the numerator:
5
Please enter the denominator:
8
Enter the second fraction.
Please enter the numerator:
7
Please enter the denominator:
9
1. Addition
2. Subtraction
3. Multiplication
4. Division
Select an operation by entering the corresponding number: 1
BUILD SUCCESSFUL (total time: 12 seconds)
But when I try to choose an operation, it just ends the program. Why is it doing that?Last edited by hockey101; 01-10-2013 at 04:40 PM.
- 01-11-2013, 03:06 AM #16
Member
- Join Date
- Nov 2012
- Posts
- 44
- Rep Power
- 0
Re: Help with finishing code
I can't seem to figure out the problem. I do notice that it says that my Result variable hasn't been used. But when I take it off, anything that has result in it causes an error. So then I put it back and then the error messages go away but then it still says the result variable is still not used. How does that work??
- 01-11-2013, 03:35 AM #17
Re: Help with finishing code
Don't misuse the PM system to ask moderators for help. That's a sure way to discourage anyone from trying to help you.
dbWhy do they call it rush hour when nothing moves? - Robin Williams
- 01-11-2013, 03:52 AM #18
Member
- Join Date
- Nov 2012
- Posts
- 44
- Rep Power
- 0
Re: Help with finishing code
Sorry...just trying to get some help
- 01-11-2013, 09:47 AM #19
Godlike
- Join Date
- Nov 2012
- Posts
- 195
- Rep Power
- 1
Re: Help with finishing code
It is probably your editor telling you that the variable isn't used. You have a Rational object called result. It is assigned on lines 77, 79, 81 or 83, but nothing happens after that. The program just ends. That's why your editor says that the variable is assigned but not used.
- 01-11-2013, 03:55 PM #20
Member
- Join Date
- Nov 2012
- Posts
- 44
- Rep Power
- 0
Similar Threads
-
Need Help Finishing Method - Program Attached
By jimmyo88 in forum New To JavaReplies: 1Last Post: 01-23-2012, 02:47 PM -
so i need help finishing my histogram plz help
By cachico12 in forum New To JavaReplies: 1Last Post: 05-10-2011, 06:04 AM -
The last stumbling block to finishing a project: Checking if already used
By sarevok9 in forum New To JavaReplies: 11Last Post: 04-26-2011, 07:55 AM -
finishing up a DB/Java exercise
By hayden06f4i in forum New To JavaReplies: 47Last Post: 12-12-2010, 09:57 PM


1Likes
LinkBack URL
About LinkBacks
Reply With Quote

Bookmarks