All pastes #50337 Raw Edit

calc proggy

public java v1 · immutable
#50337 ·published 2006-04-21 03:47 UTC
rendered paste body
import java.util.Scanner;public class Calculator {		public double result = 0.0;	public double input = 0;	public String operator;			public Calculator(double result, double input, String operator) {				this.result = result;		this.input = input;		this.operator = operator;	}	public double add(double result, double input)	{		return result + input;	}	public double subtract(double result, double input)	{		return result - input;	}	public double divide(double result, double input)	{		return result/input;			}	public double multiply(double result, double input)	{		return result * input;	}	public void doCalculations()	{	Calculator calc = new Calculator(0, 0, "None yet");	boolean done = false;	Scanner keyboard = new Scanner(System.in);	System.out.println("Calculator is on.  " +			"Enter a space between the operator and the second number.");	while (done == false)	{		System.out.println("Result is " + result);		operator = keyboard.next();		input = keyboard.nextDouble();		try {		if (operator.equals("+"))		{			result = calc.add(result, input);			System.out.println("Result + " + input + " = " + result);			System.out.println("New result = " + result);		}				else if(operator.equals("-"))		{			result = calc.subtract(result, input);			System.out.println("Result - " + input + " = " + result);			System.out.println("New result = " + result);		}		else if(operator.equals("/"))		{			result = calc.divide(result, input);			System.out.println("Result / " + input + " = " + result);			System.out.println("New result = " + result);		}		else if(operator.equals("*"))		{			result = calc.multiply(result, input);			System.out.println("Result * " + input + " = " + result);			System.out.println("New result = " + result);		}		else if(operator.equalsIgnoreCase("r"))		{			System.out.println("Final result = " + result);			System.exit(0);		}		else throw new UnknownOperatorException(operator);		}		catch(UnknownOperatorException e)		{			System.out.println(operator + " is not a valid operator." );  			calc.doAgain(result);		}}			}		public void doAgain(double result){	Scanner keyboard = new Scanner(System.in);	System.out.println("Please re-enter your last line of input.  " +	"Remember the space between operator and number.");	operator = keyboard.next();	input = keyboard.nextDouble();		}	}