1 Replies - 9470 Views - Last Post: 31 March 2008 - 08:05 PM Rate Topic: -----

#1 bugkutu   User is offline

  • New D.I.C Head

Reputation: 0
  • View blog
  • Posts: 1
  • Joined: 11-March 08

infix to postfix

Posted 31 March 2008 - 07:59 PM

How to make infix to postfix with the result of infix??
THis is my source:

/*
 * ===== PROGRAM PREFIX  =====
 * 
 * MODUL II
 * KELOMPOK V
 * I Wayan Surya Priantara  5107100057
 * 
 * deskripsi:
 * Program ini digunakan untuk mengkonversi bentuk  ke postfix
 * dengan menggunakan konsep stack (LIFO)
 */

package infixtopostfix;

import java.util.Scanner;


//Node untuk menampung operator
class Character
{
    char c;
    Character next;
}

class Stack
{
    Character head;
    
    Stack()
    {
        head=null;
    }
    
    //FUNGSI PUSH
    public void push(char c)
    {
        Character baru=new Character();
        baru.c=c;
        baru.next=head;
        head=baru;
        baru=null;
    }
    
    //FUNGSI POP
    public char pop()
    {
        char c;
        Character view=head;
        c=view.c;
        
        head=head.next;
        view=null;
        
        return c; //mengembalikan karakter untuk ditampilkan di layar
    }    
}

/*
 * @author Kelompok V
 */

public class Main 
{
    //FUNGSI PENGECEKAN ANTARA OPERAND DAN OPERATOR
    public static String Prefix2Postfix(String infix)
    {
        String postfix="";
        int lenght=infix.length();
        int flag=0;
        
        Stack Oprtr=new Stack();
        
        //JIKA INNPUTAN SALAH, MAKA ERROR AKAN DITANGKAP
        try{
            for(int i=0; i<lenght; i++)
            {
                char c=infix.charAt(i);
                if(c=='+'
                   || c=='-'
                   || c=='*'
                   || c=='/'
                   || c=='^')
                {
                    Oprtr.pushİ;
                }
                else 
                {
                
                    if(flag==0)
                    {
                        postfix+=c;
                        flag=1;
                    }
                    else if(flag==1)
                    {
                        char Opr=Oprtr.pop();
                        postfix+=c;
                        postfix+=Opr;                    
                    }
                }            
            }
        }
        catch(NullPointerException error)
        {
        }
        
        return postfix;
    }
    
    public static void main(String[] args) 
    {
        // TODO code application logic here
        
        Scanner S=new Scanner(System.in);
        String infix="";
        String postfix;       
        String lanjut="";
        
        do{
            lanjut="";
            do{
                System.out.println("Inputkan infix:");            
                infix=S.nextLine();
                if(infix.length()==0) System.out.println("Masukin yang bener dong !!!");
            }while(infix.length()==0);
            
            int L1=infix.length();
        
            postfix=Prefix2Postfix(infix);
            int L2=postfix.length();
            if(L1==L2)
                System.out.println("\nPostfixnya adalah :\n"+postfix);
            else
                System.out.println("Sintaks salah...");
        
            System.out.println("\nMau ngulang programnya lagi? (y=yes) : ");
            lanjut=S.nextLine();
            if(lanjut.equals("y")==true || lanjut.equals("Y")==true)
            {
                System.out.println("\n");
            }    
        }
        while(lanjut.equals("Y")==true || lanjut.equals("y")==true);
    }
}



Is This A Good Question/Topic? 0
  • +

Replies To: infix to postfix

#2 PsychoCoder   User is offline

  • Google.Sucks.Init(true);
  • member icon

Reputation: 1663
  • View blog
  • Posts: 19,853
  • Joined: 26-July 07

Re: infix to postfix

Posted 31 March 2008 - 08:05 PM

Moved to Java
Was This Post Helpful? 1

Page 1 of 1