Infix expression and translate it to a postfix expression

Assignment Help JAVA Programming
Reference no: EM13168445

 program below is suppose to take in a infix expression and translate it to a postfix expression, but I need a way for the user to be able to input the expression using a scanner and output the postfix. Can someone help me with this and make any changes to my program to make it work? Thank you! I know there is no main method, but that is what I need help writing to make it run properly.

 

import java.util.Scanner;
import java.util.Stack;


public class InfixToPostfix {
    
    private final char ADD = '+';
    /** constant for subtraction symbol */
    private final char SUBTRACT = '-';
    /** constant for multiplication symbol */
    private final char MULTIPLY = '*';
    /** constant for division symbol */
    private final char DIVIDE = '/';
    
    private Stack stack;
    public String expression;
    public char a;
    char top;
    String result = "";
    int value2;
    
    public InfixToPostfix(String b){
        expression = b;
        int sizeOfExpression = expression.length();
        stack = new Stack();
    }
    
    
    public String operator()
    {
        
        for (int i = 0; i < expression.length(); i++)
            a = expression.charAt(i);
        switch (a)
        {
        case ADD:
        onStack(a,1);
        break;
        
        case SUBTRACT:
        onStack(a,1);
        break;
        
        case MULTIPLY:
        onStack(a,2);
        break;
        
        case DIVIDE:
        onStack(a,2);
        
        default:
        result = result + a;
        break;
        }
    
        while (!stack.isEmpty())
        {
            result = result + stack.pop();
            
        }
        return result;
}
    public void onStack(char a, int value1)
    {
        while (!stack.isEmpty())
        {
            top = (char) stack.pop();
            
        
        if (top == '+' || top == '-')
            value2 = 1;
        else value2 = 2;
        if (value2 < value1)
        {stack.push(top);
                }
        else
            result = result + top;
        
        }


stack.push(a);
}

    
    
    


    
        // TODO Auto-generated method stub

    }

 

 

Reference no: EM13168445

Questions Cloud

Is the process in control : The upper and lower limits for diving ring diameters made by John's Swimming are 40 and 39 cm. John took 11 samples with the following average diameters (39, 39.1, 39.2, 38.9, 39.4, 39.5 39.6, 39.7, 39.8, 39.9, 40.1). Is the process in control?
Write a function that collects integers from the user until : Write a function that collects integers from the user until a 0 is encountered and returns them in a list in the order they were input (ML only).
Differences between mixed methods approach and survey design : Discuss the similarities and differences between mixed methods approach and survey design.I am looking forward to receiving your thoughts.
State how you would gain support for your plan : State how you would gain support for your plan and from whom and state who you would circulate your plan to and why you chose these people.
Infix expression and translate it to a postfix expression : program below is suppose to take in a infix expression and translate it to a postfix expression, but I need a way for the user to be able to input the expression using a scanner and output the postfix.
Calculate concentration of the hydrochloric acid solution : A student used 40.5mL of 0.48M sodium carbonate solution and 45.6mL of the hydrochloric acid solution. The substance in the beaker at the end of the experiment had a mass of 0.93g. Calculate the concentration of the hydrochloric acid solution.
How much naf can be produced : Sodium reacts with flourine to produce sodium flouride. If 4.0 grams of sodium reacts with 5.0 grams of flourine, how much NaF can be produced?
Include methods to set and get values for each data field : Design a class named MagazineSubscription that has fields for a subscriber's name, the magazine name, and number of months remaining in the subscription. Include methods to set and get the values for each data field.
How much volume will you need to draw : A fluid has a density of 4.25 g/mL. If you need to acquire 5.0 g of the fluid, how much volume will you need to draw?

Reviews

Write a Review

JAVA Programming Questions & Answers

  Write a java application to ask number of assignments

Write a java application that accomplishes the following tasks with built in exception handling: ask the number of homework assignment students have submitted in a semester

  Java method for radix sort in binary

java method for radix sort in binary but I want to understand how to do it so please make it as simple as possible

  How many numbers do you want to enter

Write a program that asks the user "How many numbers do you want to enter?" With that value, create an array that is big enough to hold that amount of numbers (integers).

  Eax contains the given contents before the instruction

For each add instruction in this problem, assume that EAX contains the given contents before the instruction is executed, and give the contents of EAX as well as the values of the CF, OF, SF, and ZF flags after the instruction is executed:

  Writing a java program that provides simple statistics

You will be writing a Java program that provides simple statistics about the input data. The method stubs are given below. This assignment will give you experience with methods

  Write the bubble sort

The village of Marengo conducted a census and collected records that have household data, including the number of occupants in each household.

  Inheritancedemo

Create a New Project named InheritanceDemo . 2. Create a new class called Person and cut and paste the Person.java file from Blackboard into the class. Create a new class called Student and cut and paste the Student.java file from Blackboard into the..

  Creates pet objects from data read from the keyboard

The assignment is to write a program that creates Pet objects from data read from the keyboard. Store these objects into an instance of ArrayList.

  What is overloading and what is overriding

What is overloading and what is overriding? Please use code to explain it.

  Write a java program using array to auto-grade exams

Write a JAVA program using 2D Array to auto-grade exams. For a class of N students, your program should read letter answers (A, B, C, D) for each student.

  Implements both the quicksort and mergesort algorithms

Write a program that correctly implements both the Quicksort and Mergesort algorithms. The program should generate an array of 500 random numbers in the 1-100 range. The program should sort the same set of numbers and keep time stamps of how long it ..

  You need to train for 10 weeks

You are preparing for a marathon. In order to prepare, you need to train for 10 weeks, running an increasing number of miles per week, starting at running at least 2 miles your first week up to 26 miles by week 10.

Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd