import java.util.Scanner;

創(chuàng)新互聯(lián)專注于寧安網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗。 熱誠為您提供寧安營銷型網(wǎng)站建設(shè),寧安網(wǎng)站制作、寧安網(wǎng)頁設(shè)計、寧安網(wǎng)站官網(wǎng)定制、小程序開發(fā)服務(wù),打造寧安網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供寧安網(wǎng)站排名全網(wǎng)營銷落地服務(wù)。
public class Test21 {
public static void main(String[] args) {
//定義并初始化數(shù)組
int[] arr = {22,33,44,55,66,7,2,5,24};
//定義并初始化Scanner對象,用于獲取輸入鍵盤輸入的內(nèi)容
Scanner scanner = new Scanner(System.in);
//輸出信息
System.out.print("請輸入需要查找的數(shù)字:");
//獲取鍵盤輸入要查找的數(shù)字
int target = scanner.nextInt();
//循環(huán)數(shù)組
for(int i = 0; i arr.length; i++) {
//如果輸入的數(shù)字跟當(dāng)前數(shù)組的元素的值相同
if(target == arr[i]) {
//輸入所在位置,從1開始
System.out.println(target + "位于數(shù)字的第" + (i + 1) + "位");
//結(jié)束
return;
}
}
//如果找不到的話就提示一下
System.out.println("數(shù)組中不存在數(shù)字:" + target);
}
}
大哥.我邏輯性不是很高.所以把c1代進(jìn)去走一次說給你聽........
你傳入c1........
BinarySearch(Car[] iArr,Car goal,Car left,Car right )
goal指向c1,left指向c1,right指向c4
left=iArr[0];
right=iArr[iArr.length-1];
現(xiàn)在left指向c1,right指向c4
if(goal.price==iArr[middle].price)iArr[middle].price指向c2所以
進(jìn)入了else if(goal.priceiArr[middle].price)成立 .....你的代碼寫了遞歸
傳的參數(shù)是BinarySearch(iArr,goal,left,iArr[middle-1])后面3個都是指向c1的對象.再次進(jìn)入
BinarySearch(Car[] iArr,Car goal,Car left,Car right )
現(xiàn)在goal指向c1,left指向c1,right指向c1
left=iArr[0];
right=iArr[iArr.length-1];
現(xiàn)在left指向c1,right指向c4
if(goal.price==iArr[middle].price)iArr[middle].price指向c2所以
進(jìn)入了else if(goal.priceiArr[middle].price)成立 .....你的代碼寫了遞歸
傳的參數(shù)是BinarySearch(iArr,goal,left,iArr[middle-1])后面3個都是指向c1的對象.再次進(jìn)入
goal一直都是指向c1,iArr[middle].price一直指向c2
else if(goal.priceiArr[middle].price)一直成立
所以死循環(huán).......
傳入c4可能一樣也是這原因吧.
不知道是不是這個原因.我表達(dá)也不是很清楚也不知道你知不知道你說什么.你看看啦.
binarySearch
public static int binarySearch(Object[] a,
Object key)使用二分搜索法來搜索指定數(shù)組,以獲得指定對象。在進(jìn)行此調(diào)用之前,必須根據(jù)元素的自然順序?qū)?shù)組進(jìn)行升序排序(通過 sort(Object[]) 方法)。如果沒有對數(shù)組進(jìn)行排序,則結(jié)果是不確定的。(如果數(shù)組包含不可相互比較的元素(例如,字符串和整數(shù)),則無法 根據(jù)其元素的自然順序?qū)?shù)組進(jìn)行排序,因此結(jié)果是不確定的。)如果數(shù)組包含多個等于指定對象的元素,則無法保證找到的是哪一個。
參數(shù):
a - 要搜索的數(shù)組
key - 要搜索的值
返回:
如果它包含在數(shù)組中,則返回搜索鍵的索引;否則返回 (-(插入點) - 1)。插入點 被定義為將鍵插入數(shù)組的那一點:即第一個大于此鍵的元素索引,如果數(shù)組中的所有元素都小于指定的鍵,則為 a.length。注意,這保證了當(dāng)且僅當(dāng)此鍵被找到時,返回的值將 = 0。
拋出:
ClassCastException - 如果搜索的鍵不能與數(shù)組的元素進(jìn)行比較。
在你查找的輸入數(shù)字那段程序中,你看下,直接就是查找到一個然后程序就跳出來了,此時最好的方法是在程序前面定義一個數(shù)組,因為你不確定有多少個你要查找的數(shù),該數(shù)組用來存儲對應(yīng)查找的數(shù)位置,
你再查詢那段程序改下,讓其不要查找到一個就跳出,而是用一直查找到數(shù)組最后,程序我不給你寫了,你先自己試試看看,不行的話,再幫你,畢竟自己實踐是最好的!
分享文章:java數(shù)組中的查找代碼,數(shù)組中查找數(shù)
地址分享:http://chinadenli.net/article15/dsicpgi.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站建設(shè)、網(wǎng)站設(shè)計公司、網(wǎng)站維護(hù)、App開發(fā)、網(wǎng)站策劃、營銷型網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)