2013-05-15 5 views
-1

수업 시간에 최근에 루프 및 난수 생성기에 대해 알게되었으므로 두 주사위의 합계를 추측 한 게임을 만들려고했습니다. 각 게임이 끝나면 나는 사용자의 추측을 모두 보여주고 그 가치가 무엇인지를 보여주는 라인을 보여주고 싶다. 내 문제는 사용자가 마지막에 입력 한 모든 값을 표시하는 것입니다.루프 후 결과 표시

import java.util.Random; 
import java.util.Scanner; 
public class Dice2 
{ 
    public static void main (String[] args) 
    { 
     Scanner kb = new Scanner(System.in); 
     Random rn = new Random(); 
     int roll1= rn.nextInt(6)+1; 
     int roll2= rn.nextInt(6)+1; 
     int sum = roll1 +roll2; 
     boolean retry = false; 
     System.out.print("Guess a number: "); 
     int guess = kb.nextInt(); 
     kb.nextLine(); 
     if (guess!=sum) 
     { 
     retry= true; 
     while (retry) 
     { 
      System.out.print("Wrong, enter again: "); 
      int newGuess = kb.nextInt(); 
      retry = true; 
      if(newGuess==sum)      
      { 
       retry = false; 
       System.out.printf("You guessed: %4d%4d\n", guess,newGuess); 
       System.out.println("The number was: " + sum); 
      } 
      else 
       continue; 
     } 
     } 
     else 
     System.out.println("The number was " + sum); 
    } 
} 

내가 갖는 문제는 내가 사용자가 추측 숫자를 모두 표시하려고 할 때입니다 : 이것은 지금까지 내 코드입니다. 나는 사용자가 가지고있는 모든 추측을 표시하고 싶다. 그래서 나는 while 루프를 사용했다. 그러나 사용자가 추측 한 모든 입력 사항을 표시하는 방법을 잘 모르겠습니다. 예를 들어, 정답은 8이고 사용자가 2,3,4,5,6,8 내가 다음과 같이 표시 할 수 있도록하려면 짐작 경우 :

You guessed: 2,3,4,5,6,8 
The number was :8 

내가 이해를 그 각각의 반복 후 while 루프는 newGuess 변수를 덮어 쓰지 만, 사용자가 추측 한 모든 숫자를 표시하기 위해 무엇을해야할지 모르겠습니다. 도움이나 조언을 주시면 감사하겠습니다.

+0

배열 또는 ArrayList에 대해 배웠습니까? – FDinoff

+0

우리는 아직 어느 것도 배웠다. – Aero

+0

글쎄 배열을 찾는 것이 좋습니다. 그런 다음 ArrayLists를 조회하면됩니다. – FDinoff

답변

3

사용자가 원하는 것이 모두 사용자가 추측 한 문자열 인 경우 StringBuilder을 사용하십시오.

StringBuilder builder = new StringBuilder(); 
builder.append(5); 
builder.append(","); 
builder.append(4); 
builder.append(","); 
builder.append(9); 
System.out.println(builder.toString()); 

while 루프 전에 하나를 만들고 루프를 통과 할 때마다 추가하십시오.

+0

그냥 제안한 것을 사용하여 시도해 보았습니다. 지금 내 프로그램이 작동합니다. 감사합니다! – Aero

0

추정 된 값을 벡터에 저장할 수 있습니다. 그런 다음 루프를 반복하여 결과를 보여줍니다.