[英]How do you create methods using arrays?
如何创建一个接受一维数组和字符串作为其 arguments 的方法?
使用线性搜索来确定产品是否在数组中。 如果名称在数组中,则该方法应返回 position。 如果该数字不在数组中,则该方法应返回-1。
当用户输入产品名称时,程序应单步执行 ArrayList。
public static void main(String[] args) {
ArrayList<String> products = new ArrayList<>();
products.add("Pencil pouch");
products.add("pen");
products.add("Pencil sharpener");
products.add("High lighters");
products.add("Markers");
products.add("Erasers");
products.add("Binder");
products.add("Notebooks");
products.add("Index cards");
products.add("Folders");
products.add("Glue");
products.add("Ruler");
products.add("Scissors");
products.add("Calculator");
products.add("Calendar");
products.add("Backpack");
for (String i: products) {
System.out.println(i);
}
}
public static int searchProducts(int[] products) {
System.out.println("enter all names of product");
Scanner input = new Scanner(System.in);
String x = input.nextLine();
for (i = 0; i < products.length; i++){
if (products][i] == x)
return i;
}
return -1;
}
好的,您使用的是 ArrayList。 要接受多个参数,请查看此链接: https://www.w3schools.com/java/java_methods_param.asp
关于您的方法,您应该接受 2 个参数,而不是 1 个。此外,您应该接受 ArrayList,而不是一维数组,它应该是 String 类型,而不是 int。 您的方法应如下所示:
public int searchProducts(ArrayList<String> arr, String str) {
// you don't need to create a scanner object because the string you
intend to use is a parameter of the method
for(int i=0; i<arr.size(); i++) {
if(arr.get(i).equals(str)) {
return i;
}
}
return -1;
}
所以现在,如果你想调用 main() 中的方法,你必须传入你的产品 ArrayList 和你想找到的项目。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.