运行一个关于栈的例子,有几个错误,不知是什么原因,请大家赐教。

learn2003 2007-07-20 01:03:46
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的。
...全文
278 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
learn2003 2007-07-26
  • 打赏
  • 举报
回复
用javac + java能运行吗?
rock406 2007-07-25
  • 打赏
  • 举报
回复
编译的时候发的警告,只是警告,类型不安全.
不影响运行.
KingNE 2007-07-25
  • 打赏
  • 举报
回复
instance method not static method
candy123360 2007-07-25
  • 打赏
  • 举报
回复
bao110908(讨厌蟑螂) ( ) 信誉:100 2007-7-24 13:19:07 得分: 0

正确了
learn2003 2007-07-25
  • 打赏
  • 举报
回复
????????????????
learn2003 2007-07-24
  • 打赏
  • 举报
回复
我运行楼上的例子了,为什么还是有出现下面的错误??

G:\My Documents\JavaSrc\Lesson6>javac MyStack.java
注意:MyStack.java 使用了未经检查或不安全的操作。
注意:要了解详细信息,请使用 -Xlint:unchecked 重新编译。
learn2003 2007-07-24
  • 打赏
  • 举报
回复
改过来了还是有错,提示:
G:\My Documents\JavaSrc\Lesson6>javac MyStack.java
注意:MyStack.java 使用了未经检查或不安全的操作。
注意:要了解详细信息,请使用 -Xlint:unchecked 重新编译。
宋玮-深圳 2007-07-24
  • 打赏
  • 举报
回复
private LinkedList<E> ll = new LinkedList<E>(); 上面这句写错了,忘记一个《E》

* java5.0以后添加的范型,如果不写范型可能提示:
* 注意:MyStack.java 使用了未经检查或不安全的操作。
注意:要了解详细信息,请使用 -Xlint:unchecked 重新编译。
宋玮-深圳 2007-07-24
  • 打赏
  • 举报
回复
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());
}
}
  • 打赏
  • 举报
回复
import java.util.LinkedList;

class MyStack<E> {
  private LinkedList<E> ll = new LinkedList<E>();
  public void push(E o) {
    ll.addFirst(o);
  }
  public E pop() {
    return ll.remove();
  }
  public E peek() {
    return ll.getFirst();
  }
  public boolean empty() {
    return ll.isEmpty();
  }
}

public class Test {
  public static void main(String[] args) {
    MyStack<String> 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());
  }
}
liujun999999 2007-07-20
  • 打赏
  • 举报
回复
pop,peek,empty等方法是实例方法,必须通过对象名调用
  • 打赏
  • 举报
回复
你在打印输出的里面都没有加上“ms.”而直接使用了“pop()”等这些方法。

我加上去后,试了试~~好的。

62,623

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧