【问题标题】:Calling method Java调用方法 Java
【发布时间】:2016-07-26 00:48:33
【问题描述】:

我很难理解我应该在主类中传递我的第三个方法到底是什么。在这一点上,我真的有点迷失了。任何帮助都是极好的。这是我编写的代码:

另外,这里是名为“getOrder”的布尔方法的说明:

编写一个名为 getOrder 的方法,该方法将字符串的 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();
}

}

【问题讨论】:

    标签: java arraylist methods boolean


    【解决方案1】:

    您需要传递ArrayList&lt;String&gt;。查看您的代码,您使用productBuilder() 构建了一个,否则它不会被使用。所以:

    ArrayList<String> products = productBuilder();
    getOrder(products);
    

    getOrder(productBuilder());
    

    顺便说一句,以下代码:

    if (products.contains(productName)) {
        return true;
    }
    else {
        return false;
    }
    

    更容易写成

    return products.contains(productName);
    

    【讨论】:

      【解决方案2】:

      您只需传递ArrayList。像这样:

      ArrayList<String> lst = new ArrayList<String>();
      lst.add("Phone");
      lst.add("Laptop");
      getOrder(lst);
      

      你当然会先填写你的ArrayList,然后通过它。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-10-15
        • 2016-04-12
        • 2013-03-05
        • 2013-05-14
        相关资源
        最近更新 更多