亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

為什么這個方法在索引第一次出現后不繼續查找呢?

為什么這個方法在索引第一次出現后不繼續查找呢?

慕姐8265434 2023-03-31 16:59:13
為什么“getIndex”在索引第一次出現后不繼續查找?write 方法實現了一個索引,用于查找數組中指定元素的第一次出現。public static void main(String[] args) {        //定義數組        int[] arr = {5,7,2,3,5};        //鍵盤錄入        Scanner sc = new Scanner(System.in);        System.out.println("請輸入要查找的數字:");        int num = sc.nextInt();        int index = getIndex(arr,num);        System.out.println(index);    }    public static int getIndex(int[] arr,int value) {        for(int i=0; i<arr.length; i++) {            if(arr[i] == value) {                return i;            }        }        return -1;    }我期望輸出是 0 和 4,但實際輸出是 0。
查看完整描述

3 回答

?
慕標琳琳

TA貢獻1830條經驗 獲得超9個贊

您的方法的返回類型意味著int它將一次返回一個值。請嘗試以下操作:


    public static void main(String[] args) {

        //定義數組

        int[] arr = {5,7,2,3,5};

        //鍵盤錄入

        Scanner sc = new Scanner(System.in);

        System.out.println("請輸入要查找的數字:");

        int num = sc.nextInt();

        getIndex(arr,num);

    }


    public static void getIndex(int[] arr,int value) {

        boolean isFound = false;

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

            if(arr[i] == value) {

                System.out.println(i);

                isFound = true;

            }

        }

        if( !isFound)

           System.out.println("Not found");

    }


查看完整回答
反對 回復 2023-03-31
?
慕田峪4524236

TA貢獻1875條經驗 獲得超5個贊

您的getIndex()功能在您return輸入值后停止。當你從一個函數返回時,它不會再繼續運行這個函數了!



查看完整回答
反對 回復 2023-03-31
?
慕森王

TA貢獻1777條經驗 獲得超3個贊

您的方法簽名返回值只有一個 int,它表示給定值的第一個索引出現。

public static **int** getIndex(int[] arr,int value)

因此,如果數組多次包含給定值,則只會返回第一個索引。


查看完整回答
反對 回復 2023-03-31
  • 3 回答
  • 0 關注
  • 158 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號