السلام عليكم
هذا البرنامج الذي كتبته يعطيني مخرجات خاطئة :
package first;
public class ALwaleedFamaly {
private String name;
private int phoneNumber;
public ALwaleedFamaly()
{
name=null;
phoneNumber=0;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getPhoneNumber() {
return phoneNumber;
}
public void setPhoneNumber(int phoneNumber) {
this.phoneNumber = phoneNumber;
}
public void print(){
System.out.println("name :"+name);
System.out.println("phone Number :"+phoneNumber);
}
}package first;
public class Node {
private ALwaleedFamaly data;
private Node Next;
public Node()
{
data=null;
Next=null;
}
public Node(ALwaleedFamaly Nod)
{
data=Nod;
Next=null;
}
public Node(ALwaleedFamaly No, Node nex)
{
this.data=No;
this.Next=nex;
}
public ALwaleedFamaly getdata() {
return data;
}
public void setData(ALwaleedFamaly node) {
data = node;
}
public Node getNext() {
return Next;
}
public void setNext(Node next) {
Next = next;
}
}package first;
public class List {
private Node head;
private Node tail;
public List()
{
head=null;
tail=null;
}
public boolean isEmpty()
{
return head==null;
}
public void insterAtFirst(ALwaleedFamaly Obj)
{
Node No=new Node(Obj,head);
No.setNext(head);
if(isEmpty())
{
head=tail=No;
}
else
{
head=No;
}
}
public void display()
{
Node current=head;
while(current !=null)
{
current.getdata().print();
current=current.getNext();
}
}
}package first;
import java.util.Scanner;
public class MainFirstClass {
public static void main(String[]args)
{
Scanner input=new Scanner(System.in);
Node Nod=new Node();
List Lis=new List();
ALwaleedFamaly Alwaleed=new ALwaleedFamaly();
int exit;
do{
System.out.println("Enter");
exit=input.nextInt();
switch(exit)
{
case 1:
System.out.println("Enter name");
String n=input.next();
Alwaleed.setName(n);
System.out.println("Enter phone number");
int phone=input.nextInt();
Alwaleed.setPhoneNumber(phone);
Nod.setData(Alwaleed);
Lis.insterAtFirst(Alwaleed);
break;
case 2:
Lis.display();
}
}while(exit!=0);
}
}المخرجااااات
Enter 1_ inset 2- print 1 Enter name a Enter phone number 2 Enter 1_ inset 2- print 1 Enter name b Enter phone number 3 Enter 1_ inset 2- print 2 name :b phone Number :3 name :b phone Number :3 Enter 1_ inset 2- print 0
لاحظوا الخطا في المخرجات تتكر النتيجة
أين الخطأ الأن هل هو في الاضافة أم في الطباعة ؟!