java split 질문 드립니다!

매출이 오르면 내리는 수수료! 지금 수수료센터에서 전자결제(PG)수수료 비교견적 신청해 보세요!
java split 질문 드립니다!

QA

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]);

   
    }
}

답변을 작성하시기 전에 로그인 해주세요.
전체 3,245
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT