运行一个关于栈的例子,有几个错误,不知是什么原因,请大家赐教。
import java.util.*;
class MyStack
{
private LinkedList ll = new LinkedList();
public void push(Object o)
{
ll.addFirst(o);
}
public Object pop()
{
return ll.remove();
}
public Object peek()
{
return ll.getFirst();
}
public boolean empty()
{
return ll.isEmpty();
}
public static void main(String[] args)
{
MyStack ms = new MyStack();
ms.push( "one ");
ms.push( "two ");
ms.push( "three ");
System.out.println(pop());
System.out.println(peek());
System.out.println(pop());
System.out.println(empty());
}
}
我是用JDK1.6的。
------解决方案--------------------你在打印输出的里面都没有加上“ms.”而直接使用了“pop()”等这些方法。
我加上去后,试了试~~好的。
------解决方案--------------------pop,peek,empty等方法是实例方法,必须通过对象名调用
------解决方案--------------------package stack;
/**
*
* @author sw
*/
import java.util.*;
public class MYStack <E>
{
private E e;
private LinkedList ll = new LinkedList <E> ();
@SuppressWarnings( "unchecked ")
public void push(E e)
{
ll.addFirst(e);
}
@SuppressWarnings( "unchecked ")
public E pop()
{
return (E)ll.remove();
}
@SuppressWarnings( "unchecked ")
public E peek()
{
return (E)ll.getFirst();
}
public boolean empty()
{
return ll.isEmpty();
}
public static void main(String[] args)
{
MYStack ms = new MYStack <String> ();
ms.push( "one ");
ms.push( "two ");
ms.push( "three ");
System.out.println(ms.pop());
System.out.println(ms.peek());
System.out.println(ms.pop());
System.out.println(ms.empty());
}
}
------解决方案--------------------bao110908(讨厌蟑螂) ( ) 信誉:100 2007-7-24 13:19:07 得分: 0
正确了
------解决方案--------------------instance method not static method
------解决方案--------------------编译的时候发的警告,只是警告,类型不安全.
不影响运行.