我正在努力學習OOP,但找不到解決問題的方法。在這種情況下,我想在一個陣串列中插入多個食物物件。我期望的結果是,當我在limiter中輸入例如3時,它應該列印我隨后輸入的東西,但它卻在索引0上創建了某種額外的物件作為空白。
當前輸出:
3
炸雞
漢堡
[食物: ,食物:炸雞,食物:漢堡] 。
行程結束,退出代碼0。
預期的輸出應該是:
3
炸雞
漢堡
壽司
[食物:炸雞 ,食物:漢堡,食物:壽司] 。
行程結束,退出代碼0。
這里是main:
package FoodRecommendation;
import java.util.ArrayList;
import java.util.Scanner;
public class Main {
public static void main(String[] args){
Scanner in = new Scanner(System.in);
ArrayList<food> arrayList = new ArrayList<>()。
int limiter = in.nextInt()。
for (int j = 0; j < limiter; j ) {
arrayList.add(new food(in.nextLine()))。)
}
System.out.println(arrayList)。
}
}
而這里是食物:
package FoodRecommendation;
public class food {
private String food;
public food(String food) {
this.food = food;
}
public String getFood() {
return food;
}
@Override
public String toString() {
return "food: " this.food。
}
對于為什么會發生這種情況,我確實有一個想法,這是因為當"(new food(in.nextLine())) "被插入到一個回圈時,它總是在索引0處創建一個空白。但我就是找不到解決這個問題的辦法。我希望有人能幫助我 :D
uj5u.com熱心網友回復:
嘗試把
in.nextLine()。
after
int limiter = in.nextInt()。
在你的代碼中。你的代碼中的第一個是只接受""作為輸入。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/329346.html
標籤:
上一篇:使用Python運行外部應用程式并在內部呼叫它們的方法
下一篇:處理被退回的電子郵件
