【解決方法】arr cannot be resolve エラーがあるのはなぜですか

プログラミングQA


<pre>package dsa;
import java.util.ArrayList;
public class PairSumR {
	public static boolean isValidPair(int[] arr, int n, int k, int m) 
	{
	ArrayList<Integer> list = new ArrayList<Integer>();
		int rem= Integer.MAX_VALUE;
	for(int i= 0; i<arr.length;i++){
		
		 rem=arr[i]%k;
		 if(list.contains(m-rem)) return true;
		if(!list.contains(rem)) list.add(rem);
	} 
	
	return false;
	}
	
	public static void res() {
		System.setOut(isValidPair(arr, 5, 3, 2));
	}

	public static void main(String [] args) {
		
	
		
		int[] arr= {3,5,2,6,4};
		PairSumR.res();
		
	}
}

私が試したこと:

メソッド呼び出しで配列を渡し、それをパラメーターとして提供しました

エラー表示:
arr を変数に解決できません

解決策 1

arr 両方のパラメーターです isValidPair とローカル変数 main.
そのため、これらの 2 つのメソッド内でのみアクセスできます。一方はメソッドのパラメーターであるため、その中にあるものは、宣言されているものと同じ配列である必要はありません。 main 整数の任意の配列を渡すことができるためです。

そのため、内部にはまったく存在しません。 res メソッド – そしてそれがエラーが伝えていることです。 おそらく、あなたはそれをパラメータにする必要があります res メソッドだけでなく、 isValidPair 方法。

コメント

タイトルとURLをコピーしました