Ich habe versucht, eine ArrayList
von Ingredients
, die Objekte sind, die den Namen der Zutat (eine Zeichenfolge), den Preis (ein Doppel), die Anzahl der Kalorien (a Ganzzahl) und wenn die Zutat vegetarisch ist (ein Boolean).Verwenden eines Scanners zum Füllen einer ArrayList von Objekten
Da es mehrere Zutaten geben wird, dachte ich, ich sollte eine ArrayList
verwenden. Wie fülle ich das Inhaltsobjekt mit den Daten vom Scanner? Dies ist, was habe ich bisher:
public static void main(String[] args){
Scanner s = new Scanner(System.in);
int numberOfIngredients = s.nextInt();
List<Ingredient> ingredientArrayList = new ArrayList<Ingredient>();
for (int i = 0; i< numberOfIngredients; i++){
String ingredientName = s.next();
double pricePerOunce = s.nextDouble();
boolean isVegetarian = s.nextBoolean();
int numberOfCalories = s.nextInt();
ingredientArrayList.add(ingredientName, pricePerOunce, numberOfCalories, isVegetarian);
}// ends for loop to fill the ingredientArray
}
Welche Frage haben Sie mit dem Code, Sie geschrieben haben? Außerdem müssen wir wahrscheinlich mindestens den Konstruktor Ihrer 'Ingredient'-Klasse sehen, um dies zu beantworten. – nhouser9
Sie haben eine Liste von Inhaltsstoffobjekten, so dass Sie einfach ein neues Inhaltsstoffobjekt erstellen und hinzufügen. – NAMS
Um die Geschwindigkeit des Einfügens in Ihre 'ArrayList' zu erhöhen, übergeben Sie die Anzahl der Zutaten an den [' ArrayList'-Konstruktor] (https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList) .html # ArrayList-int-). 'neue ArrayList <> (numberOfIngredients)' – 4castle