spacing in java

Discuss all aspects of programming here.

Moderator: The Mod Squad

spacing in java

Postby cwl157 » Sun Feb 13, 2005 1:52 pm

I have a completed java program that takes an expression and solves it. The program works fine expept i need to print the final answer like this:2+2=4 and it doesnt. It puts the answer on a different line. Does anyone know what i did wrong?
Here is the program:
Code: Select all
import java.util.*;
import java.io.*;

public class Calc1
{

  //prompts the user for input and calls necessary methods
  public static void main(String args[])
  {
    String cont = "";

    do
    {
      System.out.println("Please enter a numeric expression.");
      StringTokenizer exp = new StringTokenizer(Calc1.getInput(), "+-*/%", true);

       System.out.println(Calc1.getInput() + "=" + Calc1.performOperation(exp));

      System.out.print("Do you want to enter another expression? (y/n): ");
      cont = Calc1.getInput();

    }while(cont.equalsIgnoreCase("y"));

     System.out.println("Goodbye");
  }

   //gets a single input from the user, and returns it as a String
  static String getInput()
  {
    java.io.InputStreamReader input = new java.io.InputStreamReader(System.in);
    java.io.BufferedReader console = new java.io.BufferedReader(input);

    try
    {
      return console.readLine();
    }
    catch(java.io.IOException e)
    {
      System.err.println("Bad NEWS!!!");
      return "";
    }
  }

  //performs requested operation
  static int performOperation (StringTokenizer exp)
  {
    int num1 = 0;
    int result = 0;
    String check = "";
    String sve = "+";

    do
    {
      check = exp.nextToken();
      if(!check.equals("+") && !check.equals("-") && !check.equals("*") && !check.equals("/") && !check.equals("%"))
      {
        num1 = Integer.parseInt(check);

        if(sve.equals("+"))
        {
          result = result + num1;
          num1 = 0;
        }

        else if(sve.equals("-"))
        {
          result = result - num1;
        }

        else if(sve.equals("*"))
        {
          result = result * num1;
        }

        else if(sve.equals("/"))
        {
          result = result / num1;
        }

       else if(sve.equals("%"))
       {
         result = result % num1;
       }
      }

      else
      {
        sve = check;
      }
    }while(exp.hasMoreTokens());

    return result;
   }
  }
cwl157
Black Belt
Black Belt
 
Posts: 851
Joined: Mon Apr 12, 2004 2:32 pm
Location: Chicago

Return to Programming

Who is online

Users browsing this forum: No registered users and 1 guest