![](/img/trans.png)
[英]Getting the average value and the sum of all values in a user-inputed array?
[英]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]
嘗試為您的變量提供有意義的名稱來描述其用途,
a
和b
是錯誤的變量名稱。
鑒於方法名稱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.