java split 질문 드립니다!

java split 질문 드립니다!

QA

java split 질문 드립니다!

답변 1

본문

String aa="4 4 4";
String[] s=aa.split(" ");

이렇게 하면
System.out.println(s[0]);
System.out.println(s[1]);
System.out.println(s[2]);
이게 잘 나옵니다.

근데
String aa=sc.next();  //sc는 scanner
String[] s=aa.split(" ");
이렇게 하고 똑같이 출력을 하려고 하면
첫번째 s[0]은 나오면서 이렇게 뜹니다.
---------------------
4
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 1
at codingtest.Main.main(Main.java:19)
---------------------
s.length를 해보니 1이나옵니다.

왜 스캐너에서는 스트링이 원하는대로 안되는걸까요?

어떻게 해야 s[0] , s[1], s[2] 를 다 나오게 할수 있나요? 공백으로 split을 하고요!

이 질문에 댓글 쓰기 :

답변 1

스캐너 사용법이 잘못되었나 보네요..
아래 코드 참고해보세요.
// 레퍼런스  :  https://yeolco.tistory.com/133
import java.util.Scanner;

public class sc_test {
    public static void main(String args[])
    {
      Scanner sc = new Scanner(System.in);  // 입력값 : 4 4 4

    String aa = sc.nextLine();
    String[] s=aa.split(" ");
    System.out.println(s[0]);
    System.out.println(s[1]);
    System.out.println(s[2]);

   
    }
}

답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
filter #java ×
전체 101
© SIRSOFT
현재 페이지 제일 처음으로