従業員クラスとLinkedListの実装と別の問題:私がしようとした場合、私は本当に、ここで問題なのか分からない別のクラス
public class EmployeeList
{
Node first;
Node last;
int count;
public EmployeeList()
{
first = new Node();
first = null;
last = new Node();
last = null;
count = 0;
}
public boolean empty()
{
return first == null;
}
public void add(Employee emp)
{
Node newEmployee = new Node();
newEmployee.e = emp;
newEmployee.e.EnterInfo();
newEmployee.next=null;
if(empty())
{
first=newEmployee;
last=first;
}
else
{
last.next = newEmployee;
last = last.next;
}
count++;
}
public boolean search(String id)
{
Node temp = new Node();
Employee emp = new Employee();
temp = first;
while(temp!=null)
{
emp = temp.e;
if(id.equals(emp.ID))
{
emp.ShowInfo();
return true;
}
temp=temp.next;
}
return false;
}
public boolean delete(String id)
{
Employee emp = new Employee();
if(!empty())
{
if(first.e.ID.equals(id))
{
first=first.next;
return true;
}
else
{
Node previous = new Node();
Node temp = new Node();
previous = first;
temp = first.next;
while(temp!=null)
{
emp = temp.e;
if(id.equals(emp.ID))
{
count--;
previous.next = temp.next;
return true;
}
previous = previous.next;
temp = temp.next;
}
return false;
}
}
return false;
}
public String ALL()
{
String all = new String();
Node temp = new Node();
Employee emp = new Employee();
temp = first;
while(temp!=null)
{
emp = temp.e;
all = all + emp.ID + "-";
temp = temp.next;
}
all = all + "null";
return all;
}
}
:
public class Employee
{
String ID;
String Fname;
String Lname;
String City;
String Major;
int GPA;
public Employee()
{
GPA = 0;
}
public void ShowInfo()
{
JOptionPane.showMessageDialog(null, "ID: " + ID + "\nFirst Name: " + Fname + "\nLast Name:" + Lname + "\nCity: " + City + "\nMajor: " + Major + "\nGPA: " + GPA);
}
public void EnterInfo()
{
ID = JOptionPane.showInputDialog("Enter Student ID");
Fname = JOptionPane.showInputDialog("Enter Student First Name");
Lname = JOptionPane.showInputDialog("Enter Student Last Name");
City = JOptionPane.showInputDialog("Enter Student City");
Major = JOptionPane.showInputDialog("Enter Student Major");
String gpa = JOptionPane.showInputDialog("Enter Student GPA");
GPA = Integer.parseInt(gpa);
}
}
}
リンクリストそれらをすべて印刷するには、最後に入力した値を取得し続けます。
Nodeクラス:任意の結果を得ていないイムを検索することにより
public class Node
{
Employee e = new Employee();
Node next;
}
は、単に従業員のIDが見つかりません。 EnterInfoメソッドは、変数(ID、Fname .....)の入力用です。
助けが必要ですか?ありがとう。
編集:私はその方法が間違っていることを知っています。私はゲッターとセッターを追加すべきですが、これは先生が始めてこのように始めるように教えてくれた方法です。
実際にコンパイルされたコードを投稿し、呼び出し元の部分が含まれていることを確認してください。デバッガを使用して自分でコードを実行すると、何が起こっているのかを簡単に知ることができます。 Javaコードの規約に従い、変数に 'new'を実行する必要がある時を知りましょう。通常、たとえば検索メソッドには、新しいNodeインスタンスまたはEmployeeインスタンスが含まれてはいけません。 –
より完全なコードを提出する必要があります:ノードとリスト。それ以外の場合、www.geekviewpoint.comにはlinkedListの実装が容易です。 – kasavbere
投稿を編集しましたが、テストクラス以外はすべて投稿されています。 – user1200204