调用方法Java

时间:2016-04-05 21:15:55

标签: java arraylist methods boolean

我很难理解究竟应该在主类中传递我的第三种方法。我真的只是在这一点上丢失了。任何帮助都是极好的。这是我写的代码:

此外,以下是名为“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();
}

}

2 个答案:

答案 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然后通过它。