【发布时间】:2014-05-03 14:00:44
【问题描述】:
是的,我知道这个错误比普通流感更常见,不,我不知道如何解决它。因为坦率地说,我不知道它在这个特定实例上意味着什么。我有非常简单的代码来检查括号,但是由于这个原因它没有编译,我不知道为什么。
错误在测试类,第 14 行。
但这是我唯一的两门课。
import java.util.Stack;
import java.util.EmptyStackException;
class Arithmetic
{
Stack <Object>stk;
String expression;
int length;
Arithmetic(String s)
{
expression = s;
length = expression.length();
stk = new Stack<Object>();
}
boolean isBalanced()
{
int index = 0;
boolean fail = false;
try
{
while(index < length)
{
char ch = expression.charAt(index);
switch(ch)
{
case '(':
stk.push(ch);
break;
case ')':
stk.pop();
break;
default:
//ignore all others chars.
break;
}
index++; //increment index to continue on to the next char.
}
}
catch(EmptyStackException e)
{
fail = true;
}
return fail;
}
}
有错误的那个:
import javax.swing.JOptionPane;
import javax.swing.JTextArea;
class TestFile
{
public static void main(String[] arg)
{
String menu = "Please enter an arithmetic expression to evaluate for balance:";
String s = JOptionPane.showInputDialog( menu);
display(s);
new Arithmetic(s);
boolean balanced = Arithmetic.isBalanced();
display(balanced);
}
static void display(boolean Boolean)
{
JOptionPane.showMessageDialog(null, Boolean, "Content", JOptionPane.INFORMATION_MESSAGE);
}
static void display(String s)
{
JOptionPane.showMessageDialog(null, s, "Content", JOptionPane.INFORMATION_MESSAGE);
}
}
【问题讨论】:
-
将头向右转,查看
Related部分下方。 -
如果有帮助,我会这样做,但这只会让我更加困惑。
-
那么任何人在这里发帖都无济于事。
-
所以是的,我只是看了看,仍然不知道如何解决我的问题,我无法将其设为静态,因为那时我会遇到其他错误。
标签: java static stack non-static static-content