The ProgrammersTalk Community
Forum Register Search Today's Posts Mark Forums Read
Register

Go Back   The ProgrammersTalk Community > General Programming > Java


Welcome to the The ProgrammersTalk Community forums.

You are currently viewing our boards as a guest which gives you limited access to view most discussions and access our other features. By joining our free community you will have access to post topics, communicate privately with other members (PM), respond to polls, upload content and access many other special features. Registration is fast, simple and absolutely free so please, join our community today!

If you have any problems with the registration process or your account login, please contact contact us.
Tags: , , , , , ,

Reply
 
LinkBack (5) Thread Tools    Display Modes   
  5 links from elsewhere to this Post. Click to view. #1 (permalink)  
Old 08-15-2007, 11:10 PM
HelloWorld's Avatar
HelloWorld HelloWorld is offline
Programming Expert
Awards Showcase
Quality Tutorial 
Total Awards: 1
Join Date: Jun 2007
Location: In front of computer...
Posts: 1,109
iTrader: (0)
HelloWorld will become famous soon enoughHelloWorld will become famous soon enoughHelloWorld will become famous soon enough
Icon11 Tutorial: How to Convert Infix to Postfix

Hello everybody,
It's been for a long time that I haven't wrote a tutorial for this website that's because of my business of real life coding XD lol... Anyways, I hope the code below is self explanatory and may be helpful for you to learn and analyze. Feel free to add some comments, additional ideas or suggestion to improve the code!!!

You are using the code at your own risk! Don't hate me if you got an F or get fired from your work. It's tested and worked at JDK 1.6

Have fun coding!

This is a snippet code that will convert an INFIX expression that's passed through the command line into POSTFIX.

PHP Code:
                ArrayList<Objectoperators = new ArrayList<Object>();
                
Stack<Objectchecker = new Stack<Object>();
                for (
int i 1args.lengthi++) {
                    if (
args[i].equals("+")) {
                        if (!
checker.isEmpty()) {
                            if (
checker.peek().equals("x") || checker.peek().equals("/")) {
                                
operators.add(checker.pop());
                                
checker.push(args[i]);
                            } else {
                                
checker.push(args[i]);
                            }
                        } else {
                            
checker.push(args[i]);
                        }
                    } else if (
args[i].equals("-")) {
                        if (!
checker.isEmpty()) {
                            if (
checker.peek().equals("x") || checker.peek().equals("/")) {
                                
operators.add(checker.pop());
                                
checker.push(args[i]);
                            } else {
                                
checker.push(args[i]);
                            }
                        } else {
                            
checker.push(args[i]);
                        }
                    } else if (
args[i].equals("x")) {
                        if (!
checker.isEmpty()) {
                            if (
checker.peek().equals("+") || checker.peek().equals("-")) {
                                
checker.push(args[i]);
                            } else {
                                
operators.add(checker.pop());
                                
checker.push(args[i]);
                            }
                        } else {
                            
checker.push(args[i]);
                        }
                    } else if (
args[i].equals("/")) {
                        if (!
checker.isEmpty()) {
                            if (
checker.peek().equals("+") || checker.peek().equals("-")) {
                                
checker.push(args[i]);
                            } else {
                                
operators.add(checker.pop());
                                
checker.push(args[i]);
                            }
                        } else {
                            
checker.push(args[i]);
                        }
                    } else {
                        
operators.add(args[i]);
                    }
                }
                if (!
checker.isEmpty()) {
                    for (
int i 0<= checker.size(); i++) {
                        
operators.add(checker.pop());
                    }
                } 
I wanted to say thank you to my graduate friend Steven that helped me found this idea

__________________
PHP Code:
System.out.println("Hello World!"); 

Digg this Post! Del.Icio.Us this Post! Technorati this Post! Furl this Post! Mister Wong this Post! Newsvine this Post! Spurl this Post! Reddit this Post! Netscape this Post!

Last edited by HelloWorld : 08-15-2007 at 11:15 PM.
Reply With Quote
  #2 (permalink)  
Old 11-11-2007, 01:29 AM
cheungy cheungy is offline
Novice
Join Date: Nov 2007
Posts: 4
iTrader: (0)
cheungy is on a distinguished road
which is the String where u take the String and check whether it is a numeric or operator ??

__________________

Digg this Post! Del.Icio.Us this Post! Technorati this Post! Furl this Post! Mister Wong this Post! Newsvine this Post! Spurl this Post! Reddit this Post! Netscape this Post!
Reply With Quote
  #3 (permalink)  
Old 11-11-2007, 08:56 AM
HelloWorld's Avatar
HelloWorld HelloWorld is offline
Programming Expert
Awards Showcase
Quality Tutorial 
Total Awards: 1
Join Date: Jun 2007
Location: In front of computer...
Posts: 1,109
iTrader: (0)
HelloWorld will become famous soon enoughHelloWorld will become famous soon enoughHelloWorld will become famous soon enough
command line argument.. args

__________________
PHP Code:
System.out.println("Hello World!"); 

Digg this Post! Del.Icio.Us this Post! Technorati this Post! Furl this Post! Mister Wong this Post! Newsvine this Post! Spurl this Post! Reddit this Post! Netscape this Post!
Reply With Quote
  #4 (permalink)  
Old 11-12-2007, 12:45 AM
cheungy cheungy is offline
Novice
Join Date: Nov 2007
Posts: 4
iTrader: (0)
cheungy is on a distinguished road
i dont really get it =/ ...

when i make a new string

String TT = "5+5";

and replace everything with args ... it does work

do i need a array for this ?

cuz i dont really get what args stand for

__________________

Digg this Post! Del.Icio.Us this Post! Technorati this Post! Furl this Post! Mister Wong this Post! Newsvine this Post! Spurl this Post! Reddit this Post! Netscape this Post!
Reply With Quote
  #5 (permalink)  
Old 11-12-2007, 10:31 AM
HelloWorld's Avatar
HelloWorld HelloWorld is offline
Programming Expert
Awards Showcase
Quality Tutorial 
Total Awards: 1
Join Date: Jun 2007
Location: In front of computer...
Posts: 1,109
iTrader: (0)
HelloWorld will become famous soon enoughHelloWorld will become famous soon enoughHelloWorld will become famous soon enough
args here means that it's a command line argument, so when you compile your program you pass a command line argument to the program, and that they'll evaluate it that way

__________________
PHP Code:
System.out.println("Hello World!"); 

Digg this Post! Del.Icio.Us this Post! Technorati this Post! Furl this Post! Mister Wong this Post! Newsvine this Post! Spurl this Post! Reddit this Post! Netscape this Post!
Reply With Quote
Reply


Thread Tools
Display Modes

   Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On

LinkBacks (?)
LinkBack to this Thread: http://www.programmerstalk.net/thread1075.html
Posted By For Type Date
Pages tagged with This thread Refback 10-16-2007 07:50 AM
ProgrammersTalk's bookmarks tagged with This thread Refback 09-25-2007 05:50 AM
Tutorial: How to Convert Infix to Postfix - SWiK This thread Refback 09-02-2007 05:44 AM
Tutorial: How to Convert Infix to Postfix - SWiK This thread Refback 09-02-2007 05:43 AM
Pages tagged with This thread Refback 08-23-2007 04:05 PM


All times are GMT -7. The time now is 04:44 PM. Powered by vBulletin
Copyright © 2000 - 2007, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO © 2007 ProgrammersTalk Sedo - Buy and Sell Domain Names and Websites project info: programmerstalk.net Statistics for project programmerstalk.net etracker® web controlling instead of log file analysis


1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50