读书人

运行一个关于栈的例子有几个异常不

发布时间: 2012-01-31 21:28:41 作者: rapoo

运行一个关于栈的例子,有几个错误,不知是什么原因,请大家赐教。
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
[解决办法]
编译的时候发的警告,只是警告,类型不安全.
不影响运行.

读书人网 >J2SE开发

热点推荐