基本上,我只是嘗試學習鏈表,但我似乎無法理解如何將一堆來自不同變數的資料插入其中。它可以作為陣列/ArrayList 作業嗎?在我們結束回圈之前,我們應該正確存盤資料,但是如何?
假設我有變數(姓名、年齡、電話號碼)。
'''
char stop='Y';
while(stop!='N'){
System.out.println("\nEnter your name : ");
int name= input.nextLine();
System.out.println("\nEnter your age: ");
int age= input.nextInt();
System.out.println("\nEnter your phone number: ");
int phonenum= input.nextLine();
System.out.println("Enter 'Y' to continue, 'N' to Stop: ");
stop = sc.nextLine().charAt(0);
}
'''
uj5u.com熱心網友回復:
首先,更改您的代碼以使用適當的型別。姓名和電話應該是型別String,而不是int。
定義一個類來保存您的欄位。記錄是一種簡單的方法來做到這一點。
record Person ( String name , int age , String phone ) {}
宣告您的串列以保存該類的物件。
List< Person > list = new LinkedList<>() ;
實體化一些Person物件,并添加到串列中。
list.add( New Person( "Alice" , 29 , "477.555.1234" ) ) ;
在上面的行中,我硬編碼了一些示例資料。在您自己的代碼中,您將通過與用戶互動填充的變數傳遞給建構式。
list.add( New Person( name , age , phonenum ) ) ;
uj5u.com熱心網友回復:
您可以創建一個具有名稱、年齡和現象的物件,然后創建一個在 while 回圈中呼叫的插入方法。
在偽代碼中,它看起來像這樣:
public class Data {
String name;
int age;
int phenomenon;
//constructor
//getters & setters
}
上面的這個類將包含用戶輸入。您可以收集所有用戶輸入并將其存盤在一個陣列中,然后使用資料陣列執行插入,而不是一次插入一個物件
public void InsertData(LinkedList<Data> list, Arraylist<Data> input) {
for(Data d: input){
list.add(d);
}
}
您可以在此處閱讀更多有關鏈表的資訊,以了解鏈表的作業原理并從頭開始實作您自己的鏈表:https ://www.geeksforgeeks.org/implementing-a-linked-list-in-java-using-class/
uj5u.com熱心網友回復:
嘗試這個
可能性:1
import java.util.*;
public class Naddy {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
char stop = 'Y';
LinkedList<Object> list = new LinkedList<Object>();
while (stop != 'N') {
System.out.println("\nEnter your name : ");
String name = input.nextLine();
System.out.println("\nEnter your age: ");
int age = input.nextInt();
System.out.println("\nEnter your phone number: ");
long phonenum = input.nextLong();
list.add(name);
list.add(age);
list.add(phonenum);
System.out.println("Enter 'Y' to continue, 'N' to Stop: ");
input.nextLine();
stop = input.nextLine().charAt(0);
}
System.out.println(list);
}
}
可能性:2
import java.util.*;
public class Naddy {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
char stop = 'Y';
LinkedList<User> list = new LinkedList<User>();
while (stop != 'N') {
System.out.println("\nEnter your name : ");
String name = input.nextLine();
System.out.println("\nEnter your age: ");
int age = input.nextInt();
System.out.println("\nEnter your phone number: ");
long phonenum = input.nextLong();
list.add(new User(name, age, phonenum));
System.out.println("Enter 'Y' to continue, 'N' to Stop: ");
input.nextLine();
stop = input.nextLine().charAt(0);
}
System.out.println(list);
}
}
class User {
private String name;
private int age;
private long phonenum;
public User() {
}
public User(String name, int age, long phonenum) {
this.name = name;
this.age = age;
this.phonenum = phonenum;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public long getPhonenum() {
return phonenum;
}
public void setPhonenum(long phonenum) {
this.phonenum = phonenum;
}
@Override
public String toString() {
return "User [age=" age ", name=" name ", phonenum=" phonenum "]";
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/355603.html
上一篇:給定一個固定長度的整數陣列arr,復制每個出現的零,并將它們向右移動-leetCode
下一篇:字計數器回傳錯誤的字數
