java split 질문 드립니다!
본문
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]);
}
}