문제
int ar1 [] = {1,2,3,4,5,6,7};
해당 배열에서 5이상의 값을 출력하여 새로운 배열로 만드세요.
int ar1[]은 숫자가 비교적 적어서 배열의 길이를 출력 할 수 있다지만,
배열의 길이가 세기 힘들정도로 길어지거나, 추가로 인덱스값이 늘어나는 경우에는
그때마다 length를 수정하기 힘들겠죠?-?
그래서 이런 경우에는 int배열을 String배열로 변환+split메소드를 활용합니다.
public class array1 {
public static void main(String[] args) {
array2 ay = new array2();
}
}
class array2{
private int ar1[]; //배열 선언
private int ea; //ar1의 배열 길이
public array2() {
this.ar1 = new int[] {1,2,3,4,5,6,7};
this.ea = this.ar1.length;
String newdata =""; //int 배열 String에 담기위해 선언 split은 int에 사용할 수 없
for(int i=0;i<ar1.length;i++) { //배열 반복
if(ar1[i]>=5) { //조건 생성
newdata+=ar1[i]+","; //String에 +",추가하여 담아주기
}
}
System.out.println(newdata);
}
}
결과값
인트 배열에 있는 숫자중 조건에 충족하는 숫자를 배열상태에서 String형태로 뽑아내기 성공~~!
그렇다면 이제 예쁘게 int 배열로 담아 볼까요?
public class array1 {
public static void main(String[] args) {
array2 ay = new array2();
}
}
class array2{
private int ar1[]; //배열 선언
private int ea; //ar1의 배열 길이
public array2() {
this.ar1 = new int[] {1,2,3,4,5,6,7}; //this쓰려면 이렇게 선언
this.ea = this.ar1.length;
String newdata =""; //int 배열 String에 담기위해 선언 split은 int에 사용할 수 없
for(int i=0;i<ar1.length;i++) { //배열 반복
if(ar1[i]>=5) { //조건 생성
newdata+=ar1[i]+","; //String에 +",추가하여 담아주기
}
}
String ar2[]=newdata.split(","); //저장된 문열을 ","로 구분하여 배열로 전환
int ar2_ea = ar2.length; //바로위 배열의 길이값 선
int oridata[]=new int[ar2_ea]; //int 배열선언
for(int a=0;a<ar2_ea;a++) {
oridata[a]=Integer.parseInt(ar2[a]); //ar2는 String이고 oridata는 int여서 Integer.parseIt사용
}
System.out.println(Arrays.toString(oridata));
}
}
예쁘게 잘 출력 성공!

728x90
'JAVA > 배열' 카테고리의 다른 글
[java/split] String 문자열 한 글자씩 배열에 저장하기 (0) | 2022.07.01 |
---|---|
[java/배열] String 2차 배열의 숫자, int로 변경 후 총 합구하기 Integer.parseInt (0) | 2022.06.26 |
[java/List] 다차원 List의 총 합 구하기 + 총합이 홀수인지 짝수인지 출력하기 (0) | 2022.06.25 |
[java/배열] 메소드 추가하여 사용자 입력값 출력 (0) | 2022.06.25 |
[java/2차배열] 2차 배열 값합을 짝수,홀수 배열로 만들기 (0) | 2022.06.25 |
댓글