2017-11-20 7 views
-1

사용자에게 3 자리 숫자를 입력하도록 요청한 다음 charAt()를 사용하여 각 숫자의 char에 새 변수를 할당하고 배열로 숫자. 지금까지는 번호를 입력 할 수 있었지만 그 다음에는 멈추고 다른 것을하지 않으므로이 부분에 문제가 있다고 생각합니다. 어떻게 그럴 수 있니?배열에 사용자 입력 숫자를 char 데이터 형식으로 할당

컴퓨터는 3 자리 숫자를 생성하고 사용자에게 숫자를 입력하도록 요청한 다음 숫자를 분석하여 추측 된 숫자의 자릿수가 생성 된 숫자와 몇 자릿수인지를 확인합니다 올바른 자리가 올바른 위치에 있습니다. 생성 된 수는 180이며, 당신이 481을 생각한다면, 그 숫자는 정확이 될 것이며, 정확한 장소는이 이후에 실행하겠습니다 문제를 해결하려면 1.

import java.util.Scanner; 
public class Main { 

    public static void main(String[] args){ 
     char[] array = new char [3]; 
     for (int i = 0; i < array.length; i++){ 
      array[i] = (char)(Math.random() * 9); 
     } 

     char[] guess = {0, 0, 0}; 

     System.out.println("I have a three digit number with no repeating digits. Guess the number."); 

     while (guess != array){ 
      Scanner input = new Scanner(System.in); 
      char number1 = input.next().charAt(0); 
      char number2 = input.next().charAt(1); 
      char number3 = input.next().charAt(2); 

      guess[0] = number1; 
      guess[1] = number2; 
      guess[2] = number3; 

      int digit = 0; 
      int place = 0; 
      for(int n = 0; n < array.length; n++){ 
       for(int d = 0; d < array.length; d++){ 
        if(array[n] == guess[d]){ 
         digit++; 
        } 
       } 
      } 
      for(int r = 0; r < array.length; r++){ 
       if(array[r] == guess[r]){ 
        place++; 
       } 
      } 
      System.out.println("Correct digits: " + digit); 
      System.out.println("Correct places: " + place); 
     } 
     System.out.println("Congratulations, you got it"); 
    } 
} 
+0

코드를 공유 할 수 있습니까? – zee

답변

0
Scanner input = new Scanner(System.in); 
String num = input.next(); 
char number1 = num.charAt(0); 
char number2 = num.charAt(1); 
char number3 = num.charAt(2); 

될 것이다 :

array[i] = (char) (Math.random() * 9 + '0'); 

문자를 올바르게 저장해야합니다. 전에 ASCII 코드 0-9를 저장하고있었습니다.

while (guess[0] != array[0] || guess[1] != array[1] || guess[2] != array[2]){ 

배열의 각 값을 개별적으로 비교해야합니다.

문자를 샘플링하기 전에 번호를 저장해야합니다.

+0

이것은 주석이며 대답이 아닙니다. 그래서 누군가가 당신을 무너 뜨 렸습니다. – zee

+0

아직 답글을 쓸 수 없어서 제 대답을 편집 할 계획이었습니다. 충분한 담당자가있을 때까지 명확한 해답을 피하는 것이 좋습니다. (진짜 질문, 텍스트에서 약간 당황 스럽네요) – Coreylh

+0

"충분한 담당자가있을 때까지 설명이 필요한 답변을 피하는 것이 좋을까요?"예. –