java .不出来方法_方法在Java不会返回任何东西

我在Java写了一个类,有5个方法。线性搜索,如果找到值则返回true,如果找不到值则返回false。线性搜索2,如果找到,返回值的位置。二分搜索。它也搜索数组内的值,print Int array,它每次打印10个数字,selection sort,它对数组进行排序,这样我就可以进行二分搜索。所有的编译都很好,但是由于某种原因,我的方法没有一个返回任何东西(除了void printIntArray方法)。

编辑:

谢谢,伙计们,我不知道我需要这个。出于某种原因,我认为它会自己返回值。不过,还有一个问题。binarySearch方法似乎没有执行任何操作。在print语句“使用二进制搜索在随机数组中搜索11.。。。”之后,不打印任何内容。

编辑2:我的binarySearch方法没有工作,因为我意外地将两个else语句的mid都设置为+1(else if(key<ArrayMid])应该设置为mid-1)。非常感谢大家!我添加了修复。public class sortingSearching {

public static boolean linearSearch (int [] array, int key) {

for (int i = 0; i < array.length; i++) {

if (array [i] == key)

return true;

}// end for

return false;

}

public static int linearSearch2 (int [] array, int key) {

for (int i = 0; i < array.length; i++) {

if (array [i] == key)

return i;

}//end for

return -1;

}//end linearSearch2

public static boolean binarySearch (int [] array, int key) {

int left = 0;

int right = array.length - 1;

int mid = (left + right) /2;

while (left <= right) {

if (array[mid] == key)

return true;

else if ( key < array[mid])

right = mid - 1;

else

left = mid + 1;

mid = (left + right) /2;

} //end while

return false;

}//end binarySearch

public static void printIntArray (int [] array) {

for (int i = 0; i < array.length; i++) {

if (i%10 == 0)

System.out.println();

System.out.print(array[i] + " ");

} // end for

}

public static void selectionSort (int [] array) {

for (int start = 0; start < array.length - 1; start ++) {

int minI = start;

for (int i = start + 1; i < array.length; i++)

if (array[i] < array[start])

minI = i;

int temp = array[start];

array[start] = array[minI];

array[minI] = temp;

}//end for

} //end selectionSort

public static void main (String args []) {

int [] array = new int [20];

for (int i =0; i < array.length; i++)

array[i] = (int)((Math.random() * 100) + 1);

//print the array using printArray

printIntArray(array);

System.out.println();

//use linearSearch to search for 30, 86, and 87

System.out.println("Searching for 30 in the random array. If true is returned, " +

"the value was found. If false was returned, the value was not found.");

System.out.println(linearSearch(array, 30));

System.out.println("Searching for 86 in the random array. If true is returned, " +

"the value was found. If false was returned, the value was not found.");

System.out.println(linearSearch(array, 86));

System.out.println("Searching for 87 in the random array. If true is returned, " +

"the value was found. If false was returned, the value was not found.");

System.out.println(linearSearch(array, 87));

//use linearSearch to locate the first occurrences of 25, 80, and 91

System.out.println("Searching for the location of 25 in the random array. If -1 is " +

"returned, the number was not found in the array.");

System.out.println(linearSearch2(array, 25));

System.out.println("Searching for the location of 80 in the random array. If -1 is " +

"returned, the number was not found in the array.");

System.out.println(linearSearch2(array, 80));

System.out.println("Searching for the location of 91 in the random array. If -1 is " +

"returned, the number was not found in the array.");

System.out.println(linearSearch2(array, 91));

//use selectionSort to sort the array

selectionSort(array);

//use binarySearch to search for 11, 28, 74, and 99

System.out.println("Searching for 11 in the random array using binary search. If true is returned, " +

"the value was found. If false was returned, the value was not found.");

System.out.println(binarySearch (array, 11));

System.out.println("Searching for 28 in the random array using binary search. If true is returned, " +

"the value was found. If false was returned, the value was not found.");

System.out.println(binarySearch (array, 28));

System.out.println("Searching for 74 in the random array using binary search. If true is returned, " +

"the value was found. If false was returned, the value was not found.");

System.out.println(binarySearch (array, 74));

System.out.println("Searching for 99 in the random array using binary search. If true is returned, " +

"the value was found. If false was returned, the value was not found.");

System.out.println(binarySearch (array, 99));

} //end main

} //end sortingSearching

另外,很抱歉,main方法中的所有print语句都让人分心。为了便于阅读,我想把它们拿出来,但我希望它和我一直在运行的一样。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值