我想知道什麼時候我的輸出應該是如下什麼是錯我的邏輯:Java的嵌套循環的邏輯錯誤
有整數兩個數組並打印第一中第一次出現的索引列表在第二list.For例如,假設你有這些陣列:
int[] list1 = {1, 3, 6};
int[] list2 = {1, 3, 5, 8, 12, 1, 3, 17, 1, 3, 6, 9, 1, 3, 6};
然後呼叫indexOf(list1, list2)
應返回8因爲開始於索引8存儲在list1
出現在list2
值的序列的list1
出現兩次在list2
中,從位置8開始並開始在第12位。該方法應該返回第一個這樣的位置。
目前,我的代碼不會打印出任何東西......
public static void indexOf(int[] arr1, int[] arr2){
for(int i = 0; i < arr2.length; i++){
for(int j = 0; j < arr1.length; j++){
if(arr1[j] != arr2[i]){
break;
}
if(j == arr1.length -1){
System.out.println(i);
break;
}
}
}
}
你能上,我需要的廣告,循環終止條件詳細點嗎?此外,爲什麼我的第二次休假是返回?我認爲無論它是休息還是返回都沒有關係,因爲我正在打印代碼,而不是其他地方... – CMSC
在外循環中更改'for(int i = 0; i < (int i = 0; i +(arr1.length - 1)