> array insert 삽입
배열의 원소에 원하는 값을 넣기
Scanner scan = new Scanner(System.in);
String[] arr = new String[100]; //크기 100 배열 arr 선언
int count = 0; //음식의 개수 변수 & 배열의 인덱스 역할
System.out.println("먹고 싶은 음식을 입력하세요.");
while(true) {
System.out.print(">");
String menu = scan.nextLine(); //menu 입력받음
if(menu.equals("그만")) break; //그만 이라고 입력 시 반복 종료
arr[count] = menu; //배열에 입력받음 menu를 차례대로 넣음
count++; //menu를 하나 입력 받을 때마다 1씩 증가시켜 배열의 인덱스를 이동시켜줌
}
// 먹고 싶은 음식을 입력하세요.
// >팝콘
// >도넛
// >그만
// 예를 들어 위와 같이 출력/입력된다면, 배열은 {팝콘, 도넛, null, null, null, ..., null} 와 같이 나머지 원소들이 모두 null로 채워짐
//결과
//Arrays.toString(arr) 이용 시 위와 같이 출력되므로, 아래와 같이 원소를 이용하여 출력
System.out.print("[");
for(int i = 0; i < count; i++) {
System.out.print(arr[i]);
if(i == count - 1) break;
System.out.print(", ");
}
System.out.println("]");
// [팝콘, 도넛]
> array update 수정
배열에서 변경하길 원하는 원소를 찾아내고, 이를 원하는 값으로 변경하기
Scanner scan = new Scanner(System.in);
String[] arr = {"제니", "리사", "지수", "로제"};
System.out.print("수정할 이름을 입력하세요>");
String name = scan.next(); //수정하고 싶은 이름을 입력받음
boolean flag = false;
for(int i = 0; i < arr.length; i++) {
if(name.equals(arr[i])) { //수정할 이름이 배열에 존재하는지 탐색, 있다면 변경
System.out.print("변경할 이름을 작성하세요>");
String s = scan.next(); //변경할 이름을 입력받음
arr[i] = s;
flag = true; //if문이 실행되었는지 (해당 이름이 존재했는지) 알 수 있음
}
}
//결과
if(flag) { //존재했다면 수정되었음
System.out.println("이름이 정상 수정되었습니다.");
System.out.println(Arrays.toString(arr)); //변경된 배열 출력
} else { //존재하지 않은 경우
System.out.println("찾는 이름이 없습니다.");
}
> array delete 삭제
실제로 삭제하는 것은 아님
삭제하고 싶은 원소의 자리에 다음 자리에 있던 값을 넣는 방식으로 하나씩 앞으로 당겨옴
마지막 원소는 그대로 남게 됨
// index 4의 원소를 삭제하자 (즉, 다섯번째 원소인 5)
int[] arr = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
for(int i = 4; i < arr.length - 1; i++) {
arr[i] = arr[i+1]; //index 4 에 5의 원소를 넣고 index를 증가시켜가며 반복, 단 index는 9까지 존재하므로 index 8에 9의 원소를 넣는 것을 마지막으로 함
}
System.out.println(Arrays.toString(arr));
//[1, 2, 3, 4, 6, 7, 8, 9, 10, 10]
Scanner scan = new Scanner(System.in);
String[] arr = {"제니", "리사", "지수", "로제"};
System.out.print("삭제할 이름을 입력하세요>");
String name = scan.next(); //삭제할 이름 입력받음
int count = arr.length; //배열의길이(이름 수) 변수
boolean flag = false; //삭제 여부를 표시할 변수
for(int i = 0; i < count; i++) {
if(name.equals(arr[i])) { //삭제할 이름이 있다면
System.out.println(name + "를 삭제합니다.");
for(int j = i; j < count -1; j++) { //삭제(해당 인덱스부터 하나씩 당겨오기)
arr[j] = arr[j+1]; //마지막 인덱스를 마지막에서 두번째 인덱스로 당겨오는 게 마지막
} //마지막 인덱스는 그래로
count--; //이름 하나를 삭제했으므로 이름의 개수는 -1
flag = true; //삭제하였음
}
}
//결과
if(flag) { //삭제했다면
System.out.print("[");
for(int i = 0; i < count; i++) { //여기서 count는 3, index 0, 1, 2까지 출력
System.out.print(arr[i]);
if(i == count - 1) break;
System.out.print(", ");
} System.out.println("]"); //배열의 원소를 이용해 배열의 형태로 출력
}else { //삭제하지 않았다면
System.out.println("삭제할 이름이 없습니다.");
}
//예를 들면,
// 삭제할 이름을 입력하세요>지수
// 지수를 삭제합니다
// [제니, 리사, 로제]
// 하지만 실제 배열 arr는 [제니, 리사, 로제, 로제]
// 따라서 만약 Arrays.toString 로 arr를 출력하면 위와 같다
'course 2021 > JAVA' 카테고리의 다른 글
day08 - class (0) | 2021.08.29 |
---|---|
day07 - method (0) | 2021.08.25 |
day05 - control statement (2) | 2021.08.18 |
day04 - array, scanner (1) | 2021.08.18 |
day03 - operator (0) | 2021.08.15 |
> array insert 삽입
배열의 원소에 원하는 값을 넣기
Scanner scan = new Scanner(System.in);
String[] arr = new String[100]; //크기 100 배열 arr 선언
int count = 0; //음식의 개수 변수 & 배열의 인덱스 역할
System.out.println("먹고 싶은 음식을 입력하세요.");
while(true) {
System.out.print(">");
String menu = scan.nextLine(); //menu 입력받음
if(menu.equals("그만")) break; //그만 이라고 입력 시 반복 종료
arr[count] = menu; //배열에 입력받음 menu를 차례대로 넣음
count++; //menu를 하나 입력 받을 때마다 1씩 증가시켜 배열의 인덱스를 이동시켜줌
}
// 먹고 싶은 음식을 입력하세요.
// >팝콘
// >도넛
// >그만
// 예를 들어 위와 같이 출력/입력된다면, 배열은 {팝콘, 도넛, null, null, null, ..., null} 와 같이 나머지 원소들이 모두 null로 채워짐
//결과
//Arrays.toString(arr) 이용 시 위와 같이 출력되므로, 아래와 같이 원소를 이용하여 출력
System.out.print("[");
for(int i = 0; i < count; i++) {
System.out.print(arr[i]);
if(i == count - 1) break;
System.out.print(", ");
}
System.out.println("]");
// [팝콘, 도넛]
> array update 수정
배열에서 변경하길 원하는 원소를 찾아내고, 이를 원하는 값으로 변경하기
Scanner scan = new Scanner(System.in);
String[] arr = {"제니", "리사", "지수", "로제"};
System.out.print("수정할 이름을 입력하세요>");
String name = scan.next(); //수정하고 싶은 이름을 입력받음
boolean flag = false;
for(int i = 0; i < arr.length; i++) {
if(name.equals(arr[i])) { //수정할 이름이 배열에 존재하는지 탐색, 있다면 변경
System.out.print("변경할 이름을 작성하세요>");
String s = scan.next(); //변경할 이름을 입력받음
arr[i] = s;
flag = true; //if문이 실행되었는지 (해당 이름이 존재했는지) 알 수 있음
}
}
//결과
if(flag) { //존재했다면 수정되었음
System.out.println("이름이 정상 수정되었습니다.");
System.out.println(Arrays.toString(arr)); //변경된 배열 출력
} else { //존재하지 않은 경우
System.out.println("찾는 이름이 없습니다.");
}
> array delete 삭제
실제로 삭제하는 것은 아님
삭제하고 싶은 원소의 자리에 다음 자리에 있던 값을 넣는 방식으로 하나씩 앞으로 당겨옴
마지막 원소는 그대로 남게 됨
// index 4의 원소를 삭제하자 (즉, 다섯번째 원소인 5)
int[] arr = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
for(int i = 4; i < arr.length - 1; i++) {
arr[i] = arr[i+1]; //index 4 에 5의 원소를 넣고 index를 증가시켜가며 반복, 단 index는 9까지 존재하므로 index 8에 9의 원소를 넣는 것을 마지막으로 함
}
System.out.println(Arrays.toString(arr));
//[1, 2, 3, 4, 6, 7, 8, 9, 10, 10]
Scanner scan = new Scanner(System.in);
String[] arr = {"제니", "리사", "지수", "로제"};
System.out.print("삭제할 이름을 입력하세요>");
String name = scan.next(); //삭제할 이름 입력받음
int count = arr.length; //배열의길이(이름 수) 변수
boolean flag = false; //삭제 여부를 표시할 변수
for(int i = 0; i < count; i++) {
if(name.equals(arr[i])) { //삭제할 이름이 있다면
System.out.println(name + "를 삭제합니다.");
for(int j = i; j < count -1; j++) { //삭제(해당 인덱스부터 하나씩 당겨오기)
arr[j] = arr[j+1]; //마지막 인덱스를 마지막에서 두번째 인덱스로 당겨오는 게 마지막
} //마지막 인덱스는 그래로
count--; //이름 하나를 삭제했으므로 이름의 개수는 -1
flag = true; //삭제하였음
}
}
//결과
if(flag) { //삭제했다면
System.out.print("[");
for(int i = 0; i < count; i++) { //여기서 count는 3, index 0, 1, 2까지 출력
System.out.print(arr[i]);
if(i == count - 1) break;
System.out.print(", ");
} System.out.println("]"); //배열의 원소를 이용해 배열의 형태로 출력
}else { //삭제하지 않았다면
System.out.println("삭제할 이름이 없습니다.");
}
//예를 들면,
// 삭제할 이름을 입력하세요>지수
// 지수를 삭제합니다
// [제니, 리사, 로제]
// 하지만 실제 배열 arr는 [제니, 리사, 로제, 로제]
// 따라서 만약 Arrays.toString 로 arr를 출력하면 위와 같다
'course 2021 > JAVA' 카테고리의 다른 글
day08 - class (0) | 2021.08.29 |
---|---|
day07 - method (0) | 2021.08.25 |
day05 - control statement (2) | 2021.08.18 |
day04 - array, scanner (1) | 2021.08.18 |
day03 - operator (0) | 2021.08.15 |