변수 "num"은 2D 배열입니다. 해당 배열이 있는지 확인하려고합니다. 중복이 있으면. "num"은 사용자 입력입니다.Java - 2D 배열, 중복 검사
나는 자바 문서를 광범위하게 살펴본 후 강의를 물었고 정상적인 답변을 얻을 수 없었다. 나는 개념을 이해하고, 내가 의도 한 바가 있지만, 코딩 권리를 얻을 수는 없다.
여기 내 코드입니다 : 나는 또한 HashSet의를 사용하여 시도
for(int i = 0; i < 3; i++){ //3 rows with 5 numbers each
for(int j = 0; j < 5; j++){
num[i][j] = Integer.parseInt(JOptionPane.showInputDialog(null, "Enter value for line: " + i + " and position: "+ j));
if((num[i][j] == num[i][0]) || (num[i][j] == num[i][1]) ||(num[i][j] == num[i][2]) || (num[i][j] == num[i][3]) || (num[i][j] == num[i][4])){
if(num[i][j] != 0){
num[i][j] = Integer.parseInt(JOptionPane.showInputDialog(null, "ERROR. Enter value for line: " + i + " and position: "+ j));
}
}
}
}
,하지만 난 단지 1 차원 배열에 맞는지 생각합니다. 무작위로
secret = new Random().ints(1, 40).distinct().limit(5).toArray();
그러나 분명하지 :
는 나는이 느낌으로 내가 가장 이해,이 같은 것을 사용하고 싶습니다.
나는 이것을 시도했다 :
는Set<Integer> check = new HashSet<>();
Random gen = new Random();
for(int i = 0; i < 3; i++){ // 3 rows, 5 numbers
for(int j = 0; j < 5; j++){
num[i][j] = Integer.parseInt(JOptionPane.showInputDialog(null, "Enter value for row " + i + " and position " + j));
check.add(gen.nextInt(num[i][j]));
}
}
(직접 위) 코딩의이 마지막 부분은 컴파일하고 실행하지만, 중복을 확인하지 않습니다.
귀하의 질문에 약간 불명입니다. * "마지막 작품은 가능하지만 중복 작품을 허용합니다."*? – user2004685
진흙처럼 맑게합니다. 질문의 질은 답안의 질에 직접적으로 비례합니다. http://stackoverflow.com/help/how-to-ask –
죄송합니다. 마지막 코딩 섹션이 작동 중입니다 (즉, 컴파일되고 실행 됨). 최종 출력물에는 복제본이 허용됩니다 (표시되지 않음). –