Question
JAVA PROBLEM: Charstack Class: I cannot execute the following charstach class - I get java.lang.OutOfMemoryError, can you please help to identify what the error is?
JAVA PROBLEM: Charstack Class: I cannot execute the following charstach class - I get java.lang.OutOfMemoryError, can you please help to identify what the error is?
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------
import java.io.*;
public class CharStack { private char[] m_data; private int m_ptr; public CharStack(int size) { m_ptr = 0; m_data = new char[(size > 1 ? size : 10)]; } public void push(char c) { if (m_ptr >= m_data.length) { // Grow the array automatically char[] tmp = new char[m_data.length * 2]; System.arraycopy(m_data, 0, tmp, 0, m_data.length); m_data = tmp; } m_data[m_ptr++] = c; } public char pop() { return m_data[--m_ptr]; } public boolean hasMoreElements() { return (m_ptr != 0); } public static void main(String[] argv) throws IOException { CharStack s = new CharStack(10); int i; while ( (i = System.in.read()) != -1 ) { s.push((char) i); } while (s.hasMoreElements()) { System.out.write(s.pop()); } System.out.println(); } }
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access with AI-Powered Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started