Java 如何使用数组创建方法?
如何创建一个接受一维数组和字符串作为参数的方法Java 如何使用数组创建方法?,java,arrays,methods,Java,Arrays,Methods,如何创建一个接受一维数组和字符串作为参数的方法 使用线性搜索确定产品是否在阵列中。如果名称在数组中,则该方法应返回位置。如果该数字不在数组中,则该方法应返回-1 当用户输入产品名称时,程序应单步通过ArrayList publicstaticvoidmain(字符串[]args){ ArrayList产品=新的ArrayList(); 产品。添加(“铅笔袋”); 产品。添加(“笔”); 产品。添加(“卷笔刀”); 产品。添加(“高打火机”); 产品。添加(“标记”); 产品。添加(“橡皮
- 使用线性搜索确定产品是否在阵列中。如果名称在数组中,则该方法应返回位置。如果该数字不在数组中,则该方法应返回-1
- 当用户输入产品名称时,程序应单步通过ArrayList
publicstaticvoidmain(字符串[]args){
ArrayList产品=新的ArrayList();
产品。添加(“铅笔袋”);
产品。添加(“笔”);
产品。添加(“卷笔刀”);
产品。添加(“高打火机”);
产品。添加(“标记”);
产品。添加(“橡皮擦”);
产品。添加(“粘合剂”);
产品。添加(“笔记本”);
产品。添加(“索引卡”);
产品。添加(“文件夹”);
产品。添加(“胶水”);
产品。添加(“标尺”);
产品。添加(“剪刀”);
产品。添加(“计算器”);
产品。添加(“日历”);
产品。添加(“背包”);
用于(字符串i:产品){
系统输出打印LN(i);
}
}
公共静态int搜索产品(int[]产品){
System.out.println(“输入所有产品名称”);
扫描仪输入=新扫描仪(System.in);
字符串x=input.nextLine();
对于(i=0;i
好的,您使用的是ArrayList。要接受多个参数,请查看以下链接:
关于您的方法,您应该接受2个参数,而不是1个。此外,您应该接受ArrayList,而不是1D数组,并且它应该是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;
}
public int-searchProducts(ArrayList-arr,String-str){
//您不需要创建scanner对象,因为字符串
“打算使用”是该方法的一个参数
对于(int i=0;iJava对Javascript就像痛苦对绘画一样,Ham对仓鼠一样。它们完全不同。强烈建议有抱负的程序员尝试学习他们试图编写代码的语言名称。当你发布问题时,请适当地标记它-这让那些了解你需要帮助的语言的人我想看看你的问题。具体的问题/错误是什么?第二种方法叫searchProducts。我想让用户输入产品名称,它将使用线性搜索来确定产品是否在数组中。但由于某种原因,它不起作用。在第二种方法中,你有int[]的数组
产品
并将此数组中的每个数字与字符串x
进行比较。难道你看不出将int
与字符串
进行比较有什么错吗?这个循环可以用标准的列表::indexOf
替换。是的,但他使用了一个循环,所以我也使用了一个。