簡體   English   中英

檢查數組值是否大於用戶輸入值的方法

[英]Method that checks if an array value is greater than a user-inputed value

當我嘗試檢查我編碼的方法是正確還是錯誤時,此錯誤輸出:

“TBA 類型中的方法 existsHigher(int[], int) 不適用於 arguments (int, int, int)”

我很難弄清楚這里出了什么問題。


公共 class 測試{

public static void main(String[] args) {
    existsHigher([3,2], 5);
    
    
}

public static boolean existsHigher (int[]a, int n) {
    boolean isHigher = false;

    for(int i = 0; i < a.length; i++) {
         int[] b = new int[i];
    
         if(b[i] < n) {
        
        return isHigher;
        }
    }
    return true;
}

}

您應該返回 go 並從基本的 Java 語法開始。 您需要使用正確的語法,否則您的程序將無法運行。 就這么簡單。 沒有猜測,只有嚴格的規則。 所以如果你不確定google,還是看書吧。

// instantiate array
var array = new int[]{3, 2};

還請遵守 Java 約定: Class 名稱應以大寫字母開頭,因此Test ,而不是test 也在這里:go 回到基礎知識,這將在每篇 Java 相關的初學者文章中進行解釋。

另一件事:這會創建一個長度為i的新數組b ,但您想獲取數組a的第i個值。

int[] b = new int[i];

因此使用以下內容:

int b = a[i]

嘗試為您的變量提供有意義的名稱來描述其用途, ab是錯誤的變量名稱。

鑒於方法名稱existsHigher() ,您的邏輯似乎也已關閉。 這是一個工作示例,供您進行比較:

public class Application {
    public static void main(String[] args) {
        System.out.println(existsHigher(new int[]{3, 2}, 5));
        System.out.println(existsHigher(new int[]{3, 7}, 5));
    }

    public static boolean existsHigher(int[] a, int n) {
        for(int i = 0; i < a.length; i++) {
            int b = a[i];
            if(b > n) return true;
        }
        return false;
    }
}

預期 output:

false
true

快樂編碼:)

請注意:高級 Java 程序員可能會編寫完全不同的邏輯,但您現在不應該擔心這一點,專注於基本的語言結構和編寫語法正確的程序。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM