나는 카드 게임을 쓰고 있습니다. 나는 문제가있어서 그것을 알아낼 수 없다. 먼저 사용자가 배열 크기를 지정하게하여 배열에 플레이어를 추가하려고합니다. 그런 다음 사용자에게 배열에 추가 할 플레이어의 이름을 입력하도록 요청하십시오. 첫 루프 "Enter name :"중에 루프에 문제가 있습니다. 사용자가 입력을하기 전에 2 번 인쇄됩니다. 누군가가 이걸 도와 줄 수 있어요. 고맙습니다. 당신이 String name = keyboard.nextLine();
루핑 스캐너 입력
답변
에서 keyboard.next()
기능이 아닌 keyboard.nextLine()
함수를 호출 할 수있는 것보다 이름은 한 단어로 구성되어있는 경우 이미 언급 한 바와 같이
public class Dealer {
Scanner keyboard = new Scanner(System.in);
private Deck deck = new Deck();
Player[] players;
public static void main(String []args){
new Dealer();
}
public Dealer(){
addPlayers();
print();
}
private void addPlayers(){
int num = numPlay();
players = new Player[num];
for(int i=0; i<num; i++){
System.out.println("Enter name: ");
String name = keyboard.nextLine();
players[i] = new Player(name);
}
}
private int numPlay(){
System.out.print("Enter how many players: ");
return keyboard.nextInt();
}
private void print(){
for(Player x: players)
System.out.println(x.toString());
}
}
고마워,이게 정말 설명해. –
이 경우,
private int numPlay(){
System.out.print("Enter how many players: ");
return Integer.parseInt(keyboard.nextLine());
}
선행/후행 공백이 없다는 가정하에 제공됩니다. nextInt(), nextLine()보다 조금 더 엄격합니다. – nhahtdh
작동합니다 numPlay()
이라고하면 스캐너는 Enter 키를 눌러 줄 수와 줄 끝 문자를 읽습니다. nextInt()를 사용 했으므로, 개행 문자는 스캐너에 남아 있습니다.
따라서 일부 문자열이 버퍼에 남아 있으며 스캐너에서 다음 호출을 호출하면이 새 행이 반환됩니다. 그것은 당신의 의견을 기다리지 않습니다.
또한 '\ n'이라는 이름의 플레이어를 만드는 것처럼 보입니다.
이름이 둘 이상의 단어로 구성된 경우 어떻게됩니까? –
- 1. 스캐너 루핑 두통
- 2. 파일에서 스캐너 입력 구분하기
- 3. InputStream에서 스캐너 입력
- 4. JOptionPane 및 스캐너 입력 문제
- 5. 자바 스캐너 입력, 테스트 버튼
- 6. 스캐너 입력 스트림이 정의되지 않았습니다 ..?
- 7. Java 스캐너 입력 줄 읽기
- 8. Java GPA 배열 스캐너 입력 및 계산
- 9. 스캐너 입력 텍스트를 모호하게 만드는 방법은 무엇입니까?
- 10. 바코드 스캐너 입력 후 자동으로 이벤트 발생
- 11. 간단한 Java 스캐너 입력 호환되지 않는 유형
- 12. 사용자 입력 유효성 검사 루핑 C
- 13. 스캐너, useDelimiter
- 14. 루핑 방법
- 15. Zbar 스캐너 symbol.data 비교 iPhone 스캐너
- 16. 스캐너 입력 새 Scaner (doc); <---------- 오류; 예상
- 17. Java 스캐너 클래스에서 마지막 입력 행을 검색하지 않습니다.
- 18. 시스템 입력 용 for 루프 내에서 스캐너 사용
- 19. 키보드 입력을 금지하지만 텍스트 입력란에 자동 스캐너 입력 허용
- 20. 입력 유효성 검사 중에 스캐너 클래스를 사용하여 빈 입력을 테스트하십시오.
- 21. 스캐너 객체는 문자열 입력 대 정수에 대해 다르게 동작
- 22. 자바에서 Do While 루프 내 스캐너 입력 건너 뛰기
- 23. Java 입력/출력 스캐너 클래스와 상호 작용이 코드를
- 24. 스캐너 클래스를 사용하여 입력 할 때 문자열이 인쇄되지 않습니다.
- 25. 정규식 스캐너
- 26. 짝수 스캐너 코드
- 27. 루핑 문제 ++
- 28. 루핑 jCoverflip
- 29. 반복자 루핑
- 30. 어셈블리 루핑
'nextInt'를 가진 플레이어의 수를 읽은 후에 여분의'nextLine'이 필요합니다. 왜냐하면 그 숫자 다음에 새로운 줄이 있기 때문입니다. – nhahtdh
[이 문제의 다른 해결 방법에 대한 이전 답변] (http://stackoverflow.com/a/11541456/1343161)을 참조하십시오. – Keppil