2013-08-25 3 views
2

스캔 된 정보를 Java 배열로 저장하는 데 문제가 있습니다. 위의 절차를 실행 한 후자바 - 문자열을 배열로 스캔하는 방법은 무엇입니까?

private void initializeFriends() 
{ 
    //initialize the size of array: 
    friends = new Friend[200]; 
    //initialize the first 5 objects(Friends): 
    friends[0] = new Friend("Rodney Jessep", "rj2013", "Brisbane", "hi!"); 
    friends[1] = new Friend("Jaime Smiths", "abcd5432", "Sydney", "how's going"); 
    friends[2] = new Friend("William Arnold", "william1994", "Brisbane", "boom"); 
    friends[3] = new Friend("James Keating", "qwerty52", "Newcastle", "Hey"); 
    friends[4] = new Friend("Amy Richington", "IAmRichAmy", "Perth", "Yo"); 
} 

는 방법은 스캐너가 friend 구조에 데이터를 넣어 들어오는 곳 addFriends()가 실행했다.

정보를 배열로 스캔하는 가장 좋은 방법은 무엇입니까? 'Friend'에는 매우 다양한 요소가 있기 때문에 Scanner in = new Scanner(System.in); 기능을 사용하는 것이 현명합니다. (문자열 이름, 문자열 사용자 이름, 문자열 도시, 문자열 메시지)? 콘솔에서 입력을 수신하고 안전하게 부적절하게 사용할 수있는 포맷하지 않을 것으로 가정 할 경우

+0

스캐너에서 문서를 읽으셨습니까? 도움이 될 방법이 적어도 두 가지 있습니다. –

+0

scanner.nextLine()은 문자열을 읽으므로 정보를 읽는 루프를 수행하고이 정보를 사용하여 Friend Object를 만들고 뭔가를 시도하면 도움이됩니다. –

답변

5

: 그들이 입력 한 모든 정보에 걸릴 것

Scanner in = new Scanner(System.in): //receives input from the console 
String line = in.nextLine(); //receives everything they type until they hit enter 

. 그들의 입력 한 경우 :

"Jaime Smiths" 
" abcd5432" 
" Sydney" 
" how's going" 

것은 당신이 후행하고 또는 주요 제거 할 수 있습니다 :

String[] values = line.split(","); 
for(String s: values) 
    System.out.println(s); 

다음과 같은 출력을 제공합니다 :

"Jaime Smiths, abcd5432, Sydney, how's going" 

당신은 쉼표 (,)로 값을 분할 할 수 있습니다 공백 문자를 추가 할 수 있지만 원하는 값을 얻을 수 있으므로 연결하여 기존 배열에 추가 할 수 있습니다.

friends[5] = new Friend(values[0], values[1], values[2], values[3]); 
관련 문제