Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/347.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 显示LinkedStack的内容而不删除它们_Java - Fatal编程技术网

Java 显示LinkedStack的内容而不删除它们

Java 显示LinkedStack的内容而不删除它们,java,Java,我是java的初学者,目前正在工作。我想知道是否有一种方法可以显示列表的内容,而不必使用.getNext方法,因为一旦我使用它,它会删除节点上的元素,实际上会删除顶部的节点。在这段代码中,我试图使用输入在新的两个节点中存储两个字符串元素,然后使用proveTitle方法证明这些元素在列表中。一旦我这样做了,我就确保元素仍然完好无损,并使用toString方法检查列表请注意,由于某种奇怪的原因,在书的课堂上 如果我在类和实现的类周围加上标记,则不会显示它。 代码如下: myNode类: 您似乎试图

我是java的初学者,目前正在工作。我想知道是否有一种方法可以显示列表的内容,而不必使用.getNext方法,因为一旦我使用它,它会删除节点上的元素,实际上会删除顶部的节点。在这段代码中,我试图使用输入在新的两个节点中存储两个字符串元素,然后使用proveTitle方法证明这些元素在列表中。一旦我这样做了,我就确保元素仍然完好无损,并使用toString方法检查列表请注意,由于某种奇怪的原因,在书的课堂上 如果我在类和实现的类周围加上标记,则不会显示它。

代码如下:

myNode类:
您似乎试图使用
堆栈实现
列表
。这些是非常不同的数据结构。在
列表中,您尝试执行的操作非常简单。在
堆栈中
需要有第二个堆栈。从当前堆栈弹出每个对象时,将其推到第二个堆栈上

如果顺序不重要,您可以这样做一次,然后切换到使用第二个堆栈。如果顺序真的很重要,您将不得不反向处理以恢复原始堆栈


另外请注意,更好的方法可能是只使用
列表

1)为了更快地获得更好的帮助,请发布一篇文章。2) 对代码块使用一致的逻辑缩进。代码的缩进旨在帮助人们理解程序流程!谢谢你,先生。我会记住的。
public class myNode<T> 
{

private T data;
private myNode next;

public myNode(T _data)
{
data = _data;
}
public myNode(T _data, myNode _next)
{
data = _data;
next = _next;
}

public T getData()
{
return data;    
}

public void setData(T _data)
{
data = _data;    
}

public myNode getNext()
{

return next;    
}

public void setNext(myNode _next)
{
 next = _next;   
}

}
public interface myInterface<T> 
{
   public void pushTitle(T data);
   public T pop();
   public T peek();
   public String toString();
   public boolean isEmpty();
   public int size();
   public myNode getNode();
}
{
 private int count;
 private T author;
 private T title;
 private int stock;

 private myNode<T> top;

 public Book()
 {
     count = 0;
     top = null;
 }

@Override
 public myNode getNode()
 {
 return top;
 }


 @Override
 public void pushTitle(T title)
 {
 myNode<T> current = new myNode<>(title, top);
 current.setNext(top);
 top = current;
 count++;
 }

 public void proveTitle(T title)
 {
  T result;

  myNode<T> current = top;   

  if(title.equals(current.getData()))
  {
  result = current.getData();
  System.out.println("The title " + "'" + result + "'" + " exist."); 
  top = top.getNext();



 }
 }

 @Override
 public T pop()
 {
 T result;
 if(count == 0 || top == null )
 {
     System.out.println("List is empty");
 }
 System.out.println("The element on top is:"  +  top.getData());
 result = top.getData();
 top = top.getNext();

 count--;
 return result;

 }
 @Override

 public T peek()
 {
     System.out.println("Element on top is: " + top.getData());
     return top.getData();
 }
 @Override
 public boolean isEmpty()
 {
     if(top == null)
     {
     System.out.println("The list is empty");
     }
     else
     {
       System.out.println("The list is not empty." + "It has" + count + "elements");    
     }

  return top == null;   
 }
 @Override
 public int size()
 {
     System.out.println("The size of the list is" + count);
 return count;    
 }
 @Override
 public String toString()
 {
  String result = "";
  myNode current = top;
  System.out.println("Top");
  while(current != null)
  {
  result += ("[" + current.getData() + "]\n");
  current = current.getNext();
  }
  return result + "Bottom";
 }

}
package node;
import java.util.Scanner;

public class myDriver 
{
    public static void main(String[]args)
    {
    Scanner input = new Scanner(System.in);  

    Book<String> title = new Book<>();



    myNode<String> current;
    current = title.getNode();
    String push;
    String push2;

    System.out.println("Enter title of book 1");
    push = input.nextLine();
    title.pushTitle(push);

    System.out.println("Enter title of book 2");
    push2 = input.nextLine();
    title.pushTitle(push2);

    title.proveTitle(push);
    title.proveTitle(push2);


    System.out.println(title.toString());






}
}
run:
Enter title of book 1
Tiger
Enter title of book 2
crossed
The title 'crossed' exist.
Top
[Tiger]
Bottom
BUILD SUCCESSFUL (total time: 7 seconds)