我很难理解究竟应该在主类中传递我的第三种方法。我真的只是在这一点上丢失了。任何帮助都是极好的。这是我写的代码:
此外,以下是名为“getOrder”的布尔方法的说明:
编写一个名为getOrder的方法,该方法将String的ArrayList作为参数(产品ArrayList)并返回一个布尔值。 在方法体中,提示用户输入产品名称(String),然后检查产品名称是否存在于字符串的ArrayList中。 如果存在,则返回true,否则返回false。
public static void main(String[] args) {
// Call your methods here
bannerPrinter();
productBuilder();
getOrder(??); -----------------------------Confused as to what to pass this method with
}
// Write your methods below here
public static boolean getOrder(ArrayList<String> products) {
@SuppressWarnings("resource")
Scanner in = new Scanner(System.in);
System.out.println("Please enter a product name: ");
String productName = in.nextLine();
if (products.contains(productName)) {
return true;
}
else {
return false;
}
}
public static ArrayList<String> productBuilder() {
ArrayList<String> products = new ArrayList<String>();
products.add("Desktop");
products.add("Phone");
products.add("TV");
products.add("Speaker");
products.add("Laptop");
return products;
}
public static void bannerPrinter() {
System.out.println();
System.out.println("******************************************");
System.out.println("****** Welcome to my eCommerce app! ******");
System.out.println("******************************************");
System.out.println();
}
}
答案 0 :(得分:4)
您需要传递ArrayList<String>
。查看您的代码,使用productBuilder()
构建一个未使用的代码。所以:
ArrayList<String> products = productBuilder();
getOrder(products);
或
getOrder(productBuilder());
BTW,以下代码:
if (products.contains(productName)) {
return true;
}
else {
return false;
}
更容易写成
return products.contains(productName);
答案 1 :(得分:2)
您只需传递ArrayList
即可。像这样:
ArrayList<String> lst = new ArrayList<String>();
lst.add("Phone");
lst.add("Laptop");
getOrder(lst);
您首先填写ArrayList
然后通过它。