1.11M Members

Stack can`t pop off (see the code). Java with problem? URGENT SOS

 
0
 

Dear all.
Thanks for you kind and generous supporting.
From the String s="<hell <world </world </hell";
I wanted push the elements "<hello, <world" into stack, and pop off if current element equal to peek element in stack.

Question: Even stack.peek().equals(CURRENT ELEMENT), why can not pop off, but occurs error??
Please give me your suggestion. PLEASE!!!!

import java.util.*;

public class GomiTest{
	
	public static void main(String[] args){
		Stack<String> stack = new Stack<String>();
		String s="<hell <world </world </hell";
		String temp[]=null;
		String jin;
		temp=s.split(" ");
		
		for(int i=0;i<temp.length;i++){
			if(temp[i].startsWith("</")){
				jin=temp[i].replace("/","");
				//System.out.println("jin "+jin);
				if(!stack.empty()&&stack.peek().equals(jin)){
		          System.out.println("pop "+stack.pop());
				}else{
					System.out.println("error");
				}
			//	System.out.println("pushed "+temp[i].replace("</",""));
			}else if(temp[i].startsWith("<")){
				//jin=temp[i].replace("<","");
				System.out.println("pushed "+temp[i]);
			}else{
				System.out.println("other "+temp[i]);
			}
		}
	}
}
 
0
 

Where do you push into the stack?
Exactly what "error"s do you get?

 
0
 

@JamesCherrill , Sorry sir, it was my mistake
Thanks for attention given

Question Answered as of 3 Years Ago by JamesCherrill
 
0
 

Why are you peeking at the stack in the first place? Think of it as a real stack: push and pop only. When your current token has a '/', you pop the stack. If the item you pop is not equal to the current token (modulo '/', of course) then you know you have an invalid string. For a student code assignment, you can just throw off an error there.
If you want more robust code, you would write more complex handling, which might involve pushing the popped item back on the stack, but for now, do it simple.

You
This question has already been solved: Start a new discussion instead
Post:
Start New Discussion
Tags Related to this Article