将元素添加到 ArrayList
Add Element to ArrayList
我对编码还很陌生。我有一个方法“einkaufen”,要求用户选择产品。对于每个选择,都有一个开关盒,询问他是否想购买该产品。如果用户键入“ja”,我想将商品的价格添加到我在开始时创建的 ArrayList“einkaufsliste”中。
但是 Eclipse 给我一个错误,提示“einkaufsliste cannot be resolved”。
我该如何解决这个问题?
//List with prices:
double [] waren = new double[5];
waren[0] = 0.00;
waren[1] = 2.49;
waren[2] = 2.79;
waren[3] = 0.79;
waren[4] = 2.99;
//List to add to:
ArrayList<Double>einkaufsliste = new ArrayList<Double>();
einkaufsliste.add(0.00); **//right here i can eaysily add a value to the list**
//Method:
public static void einkaufen(double waren[]) {
int n;
String kaufen = "ja", x;
boolean wareKaufen = true, wareNichtKaufen = false;
System.out.println("Welche der angebotenen Waren möchtest du kaufen?");
System.out.println("Angebot: \t1: Kinderriegel");
System.out.println("Angebot: \t2: Nutella");
System.out.println("Angebot: \t3: Wasser");
System.out.println("Angebot: \t4: CDs");
Scanner nutzerWare = new Scanner(System.in);
n = nutzerWare.nextInt();
switch (n) {
case 1:
System.out.println("Deine Auswahl: Kinderriegel \tPreis: " + waren[n] + "\nMöchtst du diese Ware zu deinem Einkaufswagen hinzufügen?");
Scanner kinderriegelKaufen = new Scanner(System.in);
x = kinderriegelKaufen.nextLine();
if(x.equals(kaufen)) {
wareKaufen=true;
System.out.println(wareKaufen);
einkaufsliste.add(waren[n]); **//ERROR right here I want to add the Item to the List but it´s not working**
} else {
wareKaufen = false;
System.out.println(wareNichtKaufen);
}
break;
由于问题与 static
有关,我不能简单地在我的 ArrayList 前面添加一个 static
,我只是从 main 方法中删除了 List 并在任何方法。不确定这是否是正确的方法,但现在它有效。感谢您的帮助!
这对我有用。
顺便说一句。您可以将 switch
语句更改为简单的 if
stamement,因为您只有 1 个给定的案例,所以没有必要做 switch case
.
像这样:
if (n == 1) {
System.out.println("Deine Auswahl: Kinderriegel \tPreis: " + waren[n] + "\nMöchtst du diese Ware zu deinem Einkaufswagen hinzufügen?");
Scanner kinderriegelKaufen = new Scanner(System.in);
x = kinderriegelKaufen.nextLine();
if (x.equals(kaufen)) {
wareKaufen = true;
System.out.println(wareKaufen);
einkaufsliste.add(waren[n]);
} else {
wareKaufen = false;
System.out.println(wareNichtKaufen);
}
}
完整代码 switch
在这里:
package com.company;
import java.util.ArrayList;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
double[] waren = new double[5];
waren[0] = 0.00;
waren[1] = 2.49;
waren[2] = 2.79;
waren[3] = 0.79;
waren[4] = 2.99;
einkaufen(waren);
}
//Method:
public static void einkaufen(double waren[]) {
ArrayList<Double> einkaufsliste = new ArrayList<Double>();
einkaufsliste.add(0.00);
int n;
String kaufen = "ja", x;
boolean wareKaufen = true, wareNichtKaufen = false;
System.out.println("Welche der angebotenen Waren möchtest du kaufen?");
System.out.println("Angebot: \t1: Kinderriegel");
System.out.println("Angebot: \t2: Nutella");
System.out.println("Angebot: \t3: Wasser");
System.out.println("Angebot: \t4: CDs");
Scanner nutzerWare = new Scanner(System.in);
n = nutzerWare.nextInt();
switch (n) {
case 1:
System.out.println("Deine Auswahl: Kinderriegel \tPreis: " + waren[n] + "\nMöchtst du diese Ware zu deinem Einkaufswagen hinzufügen?");
Scanner kinderriegelKaufen = new Scanner(System.in);
x = kinderriegelKaufen.nextLine();
if (x.equals(kaufen)) {
wareKaufen = true;
System.out.println(wareKaufen);
einkaufsliste.add(waren[n]);
} else {
wareKaufen = false;
System.out.println(wareNichtKaufen);
}
break;
}
}
}
我对编码还很陌生。我有一个方法“einkaufen”,要求用户选择产品。对于每个选择,都有一个开关盒,询问他是否想购买该产品。如果用户键入“ja”,我想将商品的价格添加到我在开始时创建的 ArrayList“einkaufsliste”中。
但是 Eclipse 给我一个错误,提示“einkaufsliste cannot be resolved”。
我该如何解决这个问题?
//List with prices:
double [] waren = new double[5];
waren[0] = 0.00;
waren[1] = 2.49;
waren[2] = 2.79;
waren[3] = 0.79;
waren[4] = 2.99;
//List to add to:
ArrayList<Double>einkaufsliste = new ArrayList<Double>();
einkaufsliste.add(0.00); **//right here i can eaysily add a value to the list**
//Method:
public static void einkaufen(double waren[]) {
int n;
String kaufen = "ja", x;
boolean wareKaufen = true, wareNichtKaufen = false;
System.out.println("Welche der angebotenen Waren möchtest du kaufen?");
System.out.println("Angebot: \t1: Kinderriegel");
System.out.println("Angebot: \t2: Nutella");
System.out.println("Angebot: \t3: Wasser");
System.out.println("Angebot: \t4: CDs");
Scanner nutzerWare = new Scanner(System.in);
n = nutzerWare.nextInt();
switch (n) {
case 1:
System.out.println("Deine Auswahl: Kinderriegel \tPreis: " + waren[n] + "\nMöchtst du diese Ware zu deinem Einkaufswagen hinzufügen?");
Scanner kinderriegelKaufen = new Scanner(System.in);
x = kinderriegelKaufen.nextLine();
if(x.equals(kaufen)) {
wareKaufen=true;
System.out.println(wareKaufen);
einkaufsliste.add(waren[n]); **//ERROR right here I want to add the Item to the List but it´s not working**
} else {
wareKaufen = false;
System.out.println(wareNichtKaufen);
}
break;
由于问题与 static
有关,我不能简单地在我的 ArrayList 前面添加一个 static
,我只是从 main 方法中删除了 List 并在任何方法。不确定这是否是正确的方法,但现在它有效。感谢您的帮助!
这对我有用。
顺便说一句。您可以将 switch
语句更改为简单的 if
stamement,因为您只有 1 个给定的案例,所以没有必要做 switch case
.
像这样:
if (n == 1) {
System.out.println("Deine Auswahl: Kinderriegel \tPreis: " + waren[n] + "\nMöchtst du diese Ware zu deinem Einkaufswagen hinzufügen?");
Scanner kinderriegelKaufen = new Scanner(System.in);
x = kinderriegelKaufen.nextLine();
if (x.equals(kaufen)) {
wareKaufen = true;
System.out.println(wareKaufen);
einkaufsliste.add(waren[n]);
} else {
wareKaufen = false;
System.out.println(wareNichtKaufen);
}
}
完整代码 switch
在这里:
package com.company;
import java.util.ArrayList;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
double[] waren = new double[5];
waren[0] = 0.00;
waren[1] = 2.49;
waren[2] = 2.79;
waren[3] = 0.79;
waren[4] = 2.99;
einkaufen(waren);
}
//Method:
public static void einkaufen(double waren[]) {
ArrayList<Double> einkaufsliste = new ArrayList<Double>();
einkaufsliste.add(0.00);
int n;
String kaufen = "ja", x;
boolean wareKaufen = true, wareNichtKaufen = false;
System.out.println("Welche der angebotenen Waren möchtest du kaufen?");
System.out.println("Angebot: \t1: Kinderriegel");
System.out.println("Angebot: \t2: Nutella");
System.out.println("Angebot: \t3: Wasser");
System.out.println("Angebot: \t4: CDs");
Scanner nutzerWare = new Scanner(System.in);
n = nutzerWare.nextInt();
switch (n) {
case 1:
System.out.println("Deine Auswahl: Kinderriegel \tPreis: " + waren[n] + "\nMöchtst du diese Ware zu deinem Einkaufswagen hinzufügen?");
Scanner kinderriegelKaufen = new Scanner(System.in);
x = kinderriegelKaufen.nextLine();
if (x.equals(kaufen)) {
wareKaufen = true;
System.out.println(wareKaufen);
einkaufsliste.add(waren[n]);
} else {
wareKaufen = false;
System.out.println(wareNichtKaufen);
}
break;
}
}
}