2016-10-16 6 views
0

hashset에 요소를 추가하려고하는데 요소가 비어 있습니다.자바에서 빈 문자열을 요소로 가져 오는 HashSet

처음

내가 시도

import java.util.*; 

public class SetTrial{ 

    public static void main(String[] args){ 
     Scanner sc = new Scanner(System.in); 
     int number = sc.nextInt(); 
     HashSet<String> names = new HashSet<String>(); 
     for(int j=0; j<number;j++) 
     { 
      String text = sc.nextLine(); 
      names.add(text); 
     } 
     System.out.println(names); 
    } 
} 

내가 같은 입력 줄

, 단지 d까지 입력을 허용하고

[, a, b, c, d] 

내 생각이었다 표시 인쇄를 실행하는 것

5 
a 
b 
c 
d 
e 

처음에는 개행을 수락한다는 의미이므로를 추가했습니다. 코드에서 10. 제대로 입력을 모두 받아들이는 것이 시간, 결과는

[, b, c, d, e] 

을하지만

import java.util.*; 

public class SetTrial{ 

    public static void main(String[] args){ 
     Scanner sc = new Scanner(System.in); 
     int number = sc.nextInt(); 
     HashSet<String> names = new HashSet<String>(); 
     sc.next(); 
     for(int j=0; j<number;j++) 
     { 
      String text = sc.nextLine(); 
      names.add(text); 
     } 
     System.out.println(names); 
    } 
} 

그래서 문제는 다른 것을해야합니다. 이 문제를 어떻게 해결할 수 있습니까?

+0

다음 방법은 공백 (캐리지 리턴)까지 소모하지만 줄 바꿈은 사용하지 않습니다. –

답변

1

두 번째 접근 방식이 거의 옳았습니다.
sc.next()sc.nextLine()으로 바꿉니다.

관련 문제