我正在研究数组的搜索循环。当我尝试自己编写代码时,有一些我无法找到的错误。通过我使用Netbeans进行java编码的方式。
我的数组搜索代码:
public class JavaApplication {
public static void main(String[] args) {
int[] nums = new int[5];
nums = new int[]{2, 4, 6, 8, 7};
int target = 7;
for (int i = 0; i < nums.length; i++) {
if (nums[i] == target) {
return i;
}
}
return -1;
}
}
NetBeans说我的上一个return语句有一个不必要的return语句。
如何修复return语句并运行此代码?
答案 0 :(得分:2)
当方法类型为void
时,您无法返回任何内容。
如果需要打印如果在数组中找到int,请将逻辑提取到单独的方法并打印结果
public static void main(String[] args) {
int[]nums = {2,4,6,8,7}; // you can initialize the array like this
int target=7;
System.out.println(findValue(target, nums));
}
private static int findValue(int target, int[] nums) {
for(int i=0; i<nums.length;i++){
if(nums[i]==target)
return i;
}
return -1;
}
答案 1 :(得分:2)
如何修复return语句并运行此代码?
您可以创建一个返回int
的分隔方法,并在主方法中调用它,例如:
public static void main(String[] args) throws Exception {
myMethod(); //call your method in the main method
}
public static int myMethod() {
int[] nums = new int[5];
nums = new int[]{2, 4, 6, 8, 7};
int target = 7;
for (int i = 0; i < nums.length; i++) {
if (nums[i] == target) {
return i;
}
}
return -1;
}
当你的方法无效时,你不能返回任何东西,而且你不能用main方法返回任何东西,在java中不允许这样做。