์ค๋์ ๊ตญ๋น์์ 9์ผ์ฐจ!!
์ ์ ๋ ์ด๋ ค์ ์ง๊ณ ์๋ค..
8์ผ์ฐจ๊น์ง๋ Java์ ๊ธฐ๋ณธ์ ์ธ ๊ฒ๋ค์ ๋ฐฐ์ฐ๋๋ผ ์์ํ์ง๋ง,, ์ญ์๋ ๋ฐฐ์ด์ด๋ ํจ์๊ฐ ๋์ค๋ ์๊ฐ ์ด๋ ค์์ง๋น ใ ใ
ํ๊ต ๋ค๋๋ ์ด์ฌํ ์ข ํด๋์๊ฑธ,,, ์ด๋ฒ์ ๋์ค์ ์ด๋ ต๋ค๊ณ ํฌ๊ธฐํ์ง ๋ง์!!
์ด๋ฒ 9์ผ์ฐจ๋ ๋ฐฐ์ด ์กฐ๊ธ ์ฌํ๊ณผ์ ๊ณผ ๋ฉ์๋์ ๋ํด์ ๋ฐฐ์ ๋๋ฐ ์ด๋ฒ ๋ก๊ทธ์์๋ ๋ฐฐ์ด์ ๋ํด์ ์ ๋ฆฌํด๋ณด๊ฒ ๋ค!!
๊ทธ๋ผ ๋ฐฐ์ด(INSERT, UPDATE, DELETE)์์ ์์ ์์~~๐
<๋ฐฐ์ด์ INSERT(์ฝ์ ) ์์ >
package Day09;
import java.util.Arrays;
public class ArrayInsert {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
String[] arr = new String[100]; //ํฌ๊ธฐ 100์ธ ๋ฐฐ์ด ์์ฑ
int count = 0; //์์๊ฐ์ ์ ์ฅ๋ณ์
System.out.println("๋จน๊ณ ์ถ์ ์์์ด ๋ญ์์?");
System.out.println("์
๋ ฅ๋ง ํ๋ฒ ํด๋ณด์ธ์.");
while(true) {
System.out.print(">");
String menu = scan.nextLine(); //๋ฉ๋ด ์
๋ ฅ๋ฐ์
if(menu.equals("๊ทธ๋ง")) { //๋ฌธ์์ด์ '=='๋๋ฑ๊ธฐํธ ์ฌ์ฉ ๋ถ๊ฐ ex) menu == "๊ทธ๋ง" xxx
System.out.println("์
๋ ฅ์ข
๋ฃ!");
break;
}
arr[count] = menu;
count++; //์
๋ ฅ๋ฐ์ ๋๋ง๋ค count 1์ฉ ์ฆ๊ฐ
}
/* System.out.println(Arrays.toString(arr));
* <-- ์์์ ์ ์ธํ ๋ฐฐ์ด arrํฌ๊ธฐ๊ฐ 100์ด๊ธฐ ๋๋ฌธ์
* Arrays.toString์ ์ฐ๋ฉด ์
๋ ฅ๋ฐ์ง ์์ ๊ณต๊ฐ์ Null๊ฐ์ผ๋ก ์ถ๋ ฅ๋จ.
*/
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("]");
}
}
<๋ฐฐ์ด์ UPDATE ์์ >
package Day09;
import java.util.Arrays;
public class ArrayUpdate{ //๋ฐฐ์ด์ ๋ณ๊ฒฝ
public static void main(String[] args){ //์
๋ ฅ -> ์ ๋ณด ์๋์ง ์๋์ง ํ์ -> ๋ณ๊ฒฝ
Scanner scan = new Scanner(System.in);
String[] arr = {"๋จ์ค", "์์ง", "์ค๊ธฐ", "ํธ์", "์ง๋ฏผ", "ํํ", "์ ๊ตญ"};
System.out.print("์์ ํ ๋ณ๋ช
์ ์
๋ ฅํ์ธ์>");
String name = scan.next(); //์์ ํ ์ด๋ฆ ์
๋ ฅํ๊ธฐ(๋ฐฐ์ด์ ์๋ ์ด๋ฆ)
boolean flag = false; // If๋ฌธ์ด ์คํ๋๊ฑธ ํ์ธํ๋ ๊ฑธ๋ก ์ฌ์ฉํ๊ธฐ ์ํด ์ ์ธ
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) { //flag๊ฐ true์ผ๋ ์คํ
System.out.println("์ด๋ฆ์ด ์ ์์ ์ผ๋ก ์์ ๋์์ต๋๋ค!");
System.out.println(Arrays.toString(arr)); //๋ฐฐ์ด ์ถ๋ ฅ
}
else {
System.out.println("์ฐพ๋ ์ด๋ฆ์ด ์์ต๋๋ค!");
}
}
}
-์ฌ๊ธฐ์ if(flag)๊ตฌ๋ฌธ์ด ํท๊ฐ๋ ค์ ๊ฐ์ฌ๋๊ป ๋ค์ ์ง๋ฌธํด์ผ๊ฒ ๋ค!(๋ฌด์กฐ๊ฑด if(flag)๋ flag๊ฐ true์ด๋ฉด ์คํ๋๋๊ฑด์ง!)
<๋ฐฐ์ด์ DELETE(์ญ์ ) ์์ >
package Day09;
import java.util.Scanner;
public class ArrayDelete{
public static void main(String[] args){
// 4๋ฒ์งธ ์ธ๋ฑ์ค์ ์ญ์ ํํ
// 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];
// }
// System.out.println(Arrays.toString(arr));
//์ญ์ ํ๊ณ ์ถ์ ๋ณ์ ์
๋ ฅ๋ฐ์ ๋ฐฐ์ด ๋ด ์ ๋ณด ์ญ์
//๋ณ๋ช
์
๋ ฅ -> ํ์ -> ๋น๊ฒจ์ค๊ธฐ
Scanner scan = new Scanner(System.in);
String[] arr = {"๋จ์ค", "์์ง", "์ค๊ธฐ", "ํธ์", "์ง๋ฏผ", "ํํ", "์ ๊ตญ"};
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 = il j < count -1; i++){
arr[j] = arr[j+1];
}
//์ญ์ ์ ์๋ฏธ
count --;
flag = true; //์ญ์ ๋๋ฉด true๋ก ๋ฐ๋์ด์ ์ญ์ ๋๊ฑธ๋ก ํ๋จํ ์ ์์
}
}
//๊ฒฐ๊ณผ
if(flag) { //์ญ์ ๋๊ฒ ํ์ธ ๋จ.
for(int i = 0; i < count; i++) {
System.out.println("======์ญ์ ํ ์ ๋ณด======");
System.out.print(arr[i] + " ");
}
System.out.println("\n=======================");
}
else {
System.out.println("์ญ์ ํ ๋ณ๋ช
์ด ์์ต๋๋ค.");
}
}
}
<switch case๋ฅผ ์ด์ฉํ ๋ฐฐ์ด ๋ฌธ์ - ๋ฉ๋ด๋ฅผ ์ ๋ ฅ๋ฐ์ ๊ณ ๊ฐ ์ ๋ณด ์์ ํ๊ธฐ>
Case1) ์ซ์ 1์ ์ ๋ ฅ๋ฐ์์๋, ๋ฐฐ์ด์ ๊ฐ์ ๋ฃ์ด์ค๋ค.
-์ด๋ฆ, ์ฑ๋ณ, ๋์ด๋ฅผ ์ ๋ ฅ๋ฐ์ ๋ฐฐ์ด์ ์ฒ์๋ถํฐ ๊ฐ ๋ฃ์ด์ฃผ๊ธฐ
Case2) ์ซ์ 2๋ฅผ์ ๋ ฅ๋ฐ์์ ๋, ํ์ฌ์์น(index)์ ์ ๋ฐฐ์ด๋ด์ ์๋ ๊ฐ ๋ณด์ฌ์ฃผ๊ธฐ
- ๋ฐฐ์ด์ 0๋ถํฐ ์์ํ๊ธฐ ๋๋ฌธ์ 0์ดํ๋ฉด ์ด์ ์ ๋ณด๊ฐ ์๊ธฐ ๋๋ฌธ์,
- 1์ด์์ผ๋๋ง index๊ฐ 1์ ์ค์ฌ ํ์ฌ์์น ์ ๋ฐฐ์ด ๊ฐ ๋ณด์ฌ์ฃผ๋๋ก ํ๋ค.
case3) ์ซ์ 3์ ๋ ฅ๋ฐ์์๋, ํ์ฌ์์น์ ๋ค์ ๋ฐฐ์ด ๊ฐ ์ถ๋ ฅํ๊ธฐ
- case2์ ๋น์ทํ๋ฐ,
- count๋ ์ฌ๋์ ์๋ฅผ ์ธ๋ฉด์ ์ฌ๋ผ๊ฐ๊ธฐ ๋๋ฌธ์ ๋ฐฐ์ด 0๊ฐ์ ์ ๋ณด๊ฐ ํ๋ ๋ค์ด๊ฐ๋ฉด count๋ 1, ๋ฐฐ์ด 1๊ฐ์ ์ ๋ณด ํ๋ ๋ค์ด๊ฐ๋ฉด count๋ 2๋ก ๋ฐฐ์ด์์น๋ฅผ ๋ํ๋ด๋ index๋ณด๋ค count๊ฐ 1์ด ๋ ํฌ๋ค.
- ๋ฐ๋ผ์ count -1๋ณด๋ค index ๊ฐ์ด ํด๊ฒฝ์ฐ ๋ฐฐ์ด์ ๋ง์ง๋ง์ด๋, ๊ทธ ์ด์์ ๊ฐ๋ฆฌํค๋ ๊ฒ์ด๊ธฐ ๋๋ฌธ์ ๋ค์ ์ ๋ณด๋ ์๋ค.
- ๊ทธ๋์ ๊ทธ ์ธ์ " -1 <= index <= count-1" ์ผ ๋๋ง ๋ค์ ๋ฐฐ์ด์ ์ ๋ณด๋ฅผ ์ถ๋ ฅํ๋๋ก ํด์ผํ๋ค.
case4) ์ซ์ 4์ ๋ ฅ๋ฐ์์๋, ํ์ฌ์์น์ ๋ฐฐ์ด ๊ฐ ์ถ๋ ฅํ๊ธฐ
- case3์์ ๋งํ๋ค ์ํผ index = count -1 ์ด๊ธฐ ๋๋ฌธ์ ํ์ฌ์์น๊น์ง์ ๋ฐฐ์ด์ ์ถ๋ ฅํ๋ ค๋ฉด
- index์ ์กฐ๊ฑด์ 0 <= index <= count -1(๋ฐฐ์ด๋ด ๊ฐ์ด ์กด์ฌํ๋ ๊ณณ๊น์ง๋ง ์ถ๋ ฅ)
- index์ ์กฐ๊ฑด์ ๋ง์กฑํ๋ค๋ฉด ํ์ฌ์ ๋ฐฐ์ด์ ๋ณด ์ถ๋ ฅ.
case5) ์ซ์ 5์ ๋ ฅ๋ฐ์์๋, ํ์ฌ์์น์ ๋ฐฐ์ด ๋ด ์ ๋ณด ์ํ๋ ์ ๋ณด๋ก ๋ณ๊ฒฝํ๊ธฐ
- ํ์ฌ ์ ๋ณด๊ฐ ์ ๋ ฅ๋์ด์๋ ๋ฐฐ์ด 0 <= index <= count-1 ๋ด์์ ํ์ฌ ์์น์ ์ ๋ณด๋ฅผ ์์ ํ๊ณ ์ถ์๋
- ์ซ์ 5๋ฅผ ์ ๋ ฅ๋ฐ์ผ๋ฉด, ํ์ฌ ์ ๋ ฅ๋์ด ์๋ ๋ฐฐ์ด์ ์์ ํ๊ณ ์ถ์ ์ ๋ณด๋ฅผ ์ ๋ ฅํ์ฌ ์ ๋ณด๋ฅผ ์์ ํด์ค๋ค.
case6) ์ซ์ 6์ ๋ ฅ๋ฐ์์๋, ํ์ฌ์์น์ ์ ๋ณด ์ญ์
- ์กฐ๊ฑด์ case 4~5์ ๊ฐ์ด ๋ฐฐ์ด ๋ด ์ ๋ณด๊ฐ ์กด์ฌํ๋ 0 <= index <= count -1๋ด์์
- ์ซ์ 6์ ์ ๋ ฅ๋ฐ์์๋ indexํ์ฌ ์์น์ ์ ๋ณด๋ฅผ ์ญ์ ํ๋ค.
case7) ์ซ์ 7์ ๋ ฅ๋ฐ์์๋, ๋ชจ๋ ๋ฃจํ๋ฅผ ํ์ถํ๋ฉฐ ํ๋ก๊ทธ๋จ ์ข ๋ฃ.
++์ค๋ ์ฒ์ ๋ฐฐ์ด๊ฒ!! ++
System.exit(0) ==> ํ๋ก๊ทธ๋จ์ ์ข ๋ฃํ๋ ์คํ๋ฌธ
default) case์ธ์ ์ํฉ.
'FOR SW ENGINEER๐ฉโ๐ป > JAVA' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
๊ตญ๋นJAVA์์ DAY-10 (0) | 2021.08.28 |
---|---|
๊ตญ๋นJAVA์์ DAY-9 (2) (0) | 2021.08.26 |
๊ตญ๋นJAVA์์ DAY-5 ~ DAY-8 (0) | 2021.08.24 |
๊ตญ๋นJAVA์์ DAY-4 (0) | 2021.08.18 |
๊ตญ๋นJAVA์์ DAY-3 (0) | 2021.08.17 |