"동물 이름을 입력해주세요."
* 총 배열 데이터는 5개가 생성됩니다.
* 별도의 메소드에서 해당 사용자가 입력한 값을 리스트로 구성하여
* 출력하세요.
* 예) 사용자가 입력한 형태 : 다람쥐 토끼 사슴 애벌레 강아지
* 결과 예 ) [다람쥐, 토끼, 사슴, 애벌레, 강아지,]
별도의 메소드는 static void로 구현해주었다.
Scanner sc = new Scanner(System.in);
String sum="";
for(int i=0;i<=4;i++) {
System.out.println("동물 이름을 입력해주세요");
String user = sc.next();
sum+=user;
}
sc.close();
ani(sum);
}
static void ani(String name) {
String name2[]=new String[name.length()];
for(int a=0;a<name2.length;a++) {
name2[a]=name;
}
System.out.println(Arrays.toString(name2));
}
}
그런데 위 코드를 실행하면 이런 오류가 발생합니다.
이유는 밑에 코드를 보며설명해보겠습니다.
Scanner sc = new Scanner(System.in);
String sum="";
for(int i=0;i<=4;i++) {
System.out.println("동물 이름을 입력해주세요");
String user = sc.next();
sum+=(user+""); //수정한 부분 빈공간개념인 sum에 ""을 넣어 공백을 줄여주었다.
}
sc.close(); //스캐너 닫기
ani(sum); //ani메소드에 보낼 sum값
}
static void ani(String name) { //name이라는 메소드로 위 sum값을 받음
String name2[]=name.split(""); //split:문자열 또는 숫자열을 특정문자 기준으로 배열을 만들 수 있는 명령어
System.out.println(Arrays.toString(name2));
}
}
해당 코드로 수정하였는데요, 해당 코드로 수정하면 이런 결과값이 출력됩니다.
상기 결과값으로 사용자가 입력한 값이 어떻게 전달되는지 볼 수 있는데요.
sum+=(user+"");에 sum+=(user+",");을 넣어주어 밑에서 split을 하면 어떨까요?-?
참고로 밑에 String name2[]=name.split(" "); 도 ""에서 " "(공백있음)으로 변경해보았습니다.
Scanner sc = new Scanner(System.in);
String sum="";
for(int i=0;i<=4;i++) {
System.out.println("동물 이름을 입력해주세요");
String user = sc.next();
sum+=(user+","); //수정한 부분 빈공간개념인 sum에 ""을 넣어 공백을 줄여주었다.
}
sc.close(); //스캐너 닫기
ani(sum); //ani메소드에 보낼 sum값
}
static void ani(String name) { //name이라는 메소드로 위 sum값을 받음
String name2[]=name.split(" "); //split:문자열 또는 숫자열을 특정문자 기준으로 배열을 만들 수 있는 명령어
System.out.println(Arrays.toString(name2));
}
}
상기 코드를 실행하면 아래와 같은 결과값이 출력됩니다.
728x90
'JAVA > 배열' 카테고리의 다른 글
[java/배열] String 2차 배열의 숫자, int로 변경 후 총 합구하기 Integer.parseInt (0) | 2022.06.26 |
---|---|
[java/List] 다차원 List의 총 합 구하기 + 총합이 홀수인지 짝수인지 출력하기 (0) | 2022.06.25 |
[java/2차배열] 2차 배열 값합을 짝수,홀수 배열로 만들기 (0) | 2022.06.25 |
[java/배열] String 배열 특정 값 글자 초과만 텍스트만 출력하기 (0) | 2022.06.25 |
[java/List] 배열 ArrayList로 변환 / 짝수 값 삭제하기 (0) | 2022.06.25 |
댓글