嗨,這是第一次使用本網站回答任何問題,所以在格式錯誤上輕鬆一下,英語也是我的第二語言。因此,對於我的計算機科學課,我們被要求設計一個字符串的鏈表來創建一個字母等字,除了在任何IDE上運行它時,我根本無法找到主類。我還測試了一個不同的簡單hello世界項目,以查看我的IDE是否正在運行,並且您好世界是否有效。此外,如果任何人看到我的代碼有問題,請隨時給我反饋。未找到Java主類
SinglyLinkedListInterface:
public interface SinglyLinkedListInterface<String>
{
public void print ();
public void traversal ();
public Node getNext ();
public void addStringToFront (String newItem);
public void addStringToRear (String newItem);
public void addStringToMiddle (Node pos, String newItem);
public String deleteFromFront ();
public String deleteFromRear ();
public String deleteFromMiddle (Node pos);
public boolean isEmpty ();
}
節點:
public class Node<String>
{
public String data;
public Node link;
public Node ()
{
data = null;
link = null;
}
public Node (String newItem)
{
data = newItem;
link = null;
}
public void setData (String newData)
{
data = newData;
}
public void setLink (Node newLink)
{
link = newLink;
}
public String getData ()
{
return data;
}
public Node getLink ()
{
return link;
}
public java.lang.String toString ()
{
return data.toString ();
}
}
SinglyLinkedList:
public class SinglyLinkedList<String> implements SinglyLinkedListInterface<String>
{
private Node head;
private Node cursor;
public SinglyLinkedList ()
{
head = null;
cursor = null;
}
public boolean isEmpty ()
{
return head == null;
}
public Node getNext ()
{
if (isEmpty ())
return null;
else
{
if (cursor.getLink () == null)
return null;
else
{
cursor = cursor.getLink ();
return cursor;
}
}
}
private void resetCursor ()
{
cursor = head;
}
public void traversal ()
{
if (!isEmpty ())
{
resetCursor ();
System.out.println (cursor);
while (getNext () != null)
System.out.println (cursor);
}
}
public void print ()
{
traversal ();
}
public void addStringToFront (String newItem)
{
Node newNode = new Node (newItem);
newNode.setLink (head);
head = newNode;
}
private Node moveStringToRear ()
{
if (cursor != null) //do it only when the list is not empty
{
while (getNext ()!= null);
}
return cursor;
}
public void addStringToRear (String newItem)
{
if (isEmpty ())
addStringToFront (newItem);
else
{
Node newNode = new Node (newItem);
moveStringToRear ();
cursor.setLink (newNode);
}
}
private Node backStringrack ()
{
if (cursor != head)
{
Node temp = head;
while (temp.getLink () != cursor)
temp = temp.getLink ();
cursor = temp;
return cursor;
}
else
return null;
}
//for sorted linked list
public void addStringToMiddle (Node pos,String newItem)
{
Node newNode = new Node (newItem);
cursor = pos;
backStringrack ();
newNode.setLink (pos);
cursor.setLink (newNode);
}
public String deleteFromFront ()
{
String deleted = null;
if (!isEmpty ())
{
resetCursor ();
deleted = (String) cursor.getData ();
head = head.getLink ();
resetCursor ();
}
return deleted;
}
public String deleteFromRear ()
{
String deleted = null;
if (!isEmpty ())
{
moveStringToRear ();
deleted = (String) cursor.getData ();
if (backStringrack () != null)
cursor.setLink (null);
else //the deleted node at rear is the only node in the list
head = cursor = null;
}
return deleted;
}
//for sorted linked list
public String deleteFromMiddle (Node pos)
{
cursor = pos;
backStringrack ();
cursor.setLink (pos.getLink ());
return (String)pos.getData (); //corrected 09172014
}
public Node Search1(String key)
{ while(getNext()!= null)
{
if(key.equals(getNext().getData()))
{
cursor.setLink(head);
}
}
return cursor ;
}
}
主要:
public class String
{
public static void main (String [] args)
{
SinglyLinkedList x = new SinglyLinkedList();
x.addStringToFront("s");
x.addStringToFront("r");
x.addStringToFront("e");
x.addStringToFront("t");
x.addStringToFront("t");
x.addStringToFront("e");
x.addStringToFront("l");
x.print();
}
}
你應該輸入主要方法的String參數爲java.lang.String – Hacketo 2014-09-22 07:14:17