νμλΆ μ½λλ₯Ό ν¨μλ‘ λ³ν
νμλΆ μ½λλ μ λ§ λ³΅μ‘ν©λλ€ . μ΄μ κ·Έ 볡μ‘ν μ½λμ€ ν¨μλ‘ λ°κΏ μ μλ λ΄μ©λ€μ ν¨μλ‘ λ°κΏμ£Όλκ²
μ μ μΌ μ λλ€.
κ·ΈλΌ ν¨μλ‘ λ°κΎΌ λ΄μ©μ 보μ¬λλ¦¬κ² μ΅λλ€.
package class02;
import java.util.Scanner;
public class FunctionStudentRecord {
public static int sample(String[] datas) {
// νμλΆ λ°°μ΄μ μν λ°μ΄ν°λ₯Ό μ μ₯ν΄μ£Όκ³ ,
// λͺλͺ
μ΄ μ μ₯λμλμ§ λ°νν΄μ£Όλ ν¨μ
datas[0]="ν°λͺ¨";
datas[1]="μ리";
datas[2]="λͺ¨λ₯΄κ°λ"; // λ°°μ΄μ call by reference βΆ λ°ν x
int cnt=3; // μμνμ
βΆ λ°ν o
return cnt;
}
public static int printMenu() {
// λ©λ΄λ₯Ό μΆλ ₯ν΄μ£Όκ³ ,
// μ¬μ©μλ‘λΆν° λ©λ΄λ²νΈλ‘ μ
λ ₯λ°μ κ°μ λ°νν΄μ£Όλ ν¨μ
Scanner sc=new Scanner(System.in);
System.out.println("=== λ© λ΄ ===");
System.out.println("1. νμμΆκ°");
System.out.println("2. νμλΆ μ 체μΆλ ₯");
System.out.println("3. μ΄λ¦μΌλ‘ κ²μ");
System.out.println("4. λ²νΈλ‘ κ²μ");
System.out.println("5. μ΄λ¦λ³κ²½");
System.out.println("0. νλ‘κ·Έλ¨ μ’
λ£");
System.out.println("===============");
System.out.print("λ©λ΄ μ
λ ₯ >> ");
int menu=sc.nextInt();
return menu;
}
public static boolean isFull(int cnt,String[] datas) {
// λ μ΄μ νμ λ°μ΄ν°λ₯Ό μ μ₯ν μ μμλ
if(cnt >= datas.length) {
System.out.println("λμ΄μ λ°μ΄ν°λ₯Ό μ μ₯ν μμμ΅λλ€!");
return true;
}
return false;
}
public static boolean isEmpty(int cnt) {
// μμ§ μ μ₯λ νμ λ°μ΄ν°κ° μ ν μμλ
if(cnt<=0) {
System.out.println("μ μ₯λ νμ λ°μ΄ν°κ° μμ΅λλ€.");
return true;
}
return false;
}
public static String inputName(int cnt,String[] datas) {
// μ¬μ©μκ° μ΄λ¦μ μ
λ ₯νλ©΄ κ·Έ μ΄λ¦ κ°μ λ°ννλ ν¨μ
Scanner sc=new Scanner(System.in);
String name;
while(true) {
System.out.print("λ³κ²½ν μ΄λ¦μ μ
λ ₯ν΄μ£ΌμΈμ. >> ");
name=sc.next();
System.out.print("μ λ§ "+name+"(μΌ)λ‘ νμκ² μ΅λκΉ? (Y/N) >> ");
String answer=sc.next();
if(answer.equals("Y")) {
boolean flag=false;
for(int i=0;i<cnt;i++) {
if(name.equals(datas[i])) {
flag=true;
System.out.println(name+"μ(λ) μ΄λ―Έ μ‘΄μ¬νλ μ΄λ¦μ
λλ€...");
}
}
if(!flag) {
break;
}
}
}
return name;
}
// νμλΆ μ 체 μΆλ ₯ λ΄λΉνλ κΈ°λ₯μ ν¨μ
// input, output λ¨Όμ μκ°ν΄λ³΄κΈ°!!!!!!!!!!
// input : νμλΆ λ°μ΄ν°, νμ¬ μ μ₯λ νμμ μ
// output : x
public static void printStudents(String[] datas,int cnt) {
System.out.println("=== νμ λͺ©λ‘ ===");
for(int i=0;i<cnt;i++) {
System.out.println((i+1)+"λ² νμ "+datas[i]);
}
System.out.println("====================");
}
public static boolean isRight(int num,int cnt) {
if(1<=num && num<=cnt) {
return true;
}
return false;
}
// νμ λ²νΈλ‘ κ²μ
// input : νμλΆ λ°μ΄ν°, νμ¬ μ μ₯λ νμμ μ
// output : x (λ체μ μΌλ‘ μΆλ ₯(select,read,R)κΈ°λ₯μ outputμ΄ μμ)
public static int selectOne(String[] datas,int cnt) {
Scanner sc=new Scanner(System.in);
int num;
while(true) {
System.out.print("κ²μν λ²νΈ μ
λ ₯ >> ");
num=sc.nextInt();
if(isRight(num,cnt)) {
break;
}
}
System.out.println(num+"λ² νμμ "+datas[num-1]+"μ
λλ€.");
return num;
}
public static void main(String[] args) {
String[] datas = new String[5];
Scanner sc=new Scanner(System.in);
System.out.println("νμλΆ νλ‘κ·Έλ¨");
int cnt=sample(datas);
while(true) {
int menu=printMenu();
if(menu==0) {
System.out.println("νλ‘κ·Έλ¨μ΄ μ’
λ£λ©λλ€.");
break;
}
else if(menu==1) { // νμμΆκ°
/*
if(cnt >= datas.length) {
System.out.println("λμ΄μ λ°μ΄ν°λ₯Ό μ μ₯ν μμμ΅λλ€!");
continue;
}
*/
if(isFull(cnt,datas)) {
continue;
}
String name=inputName(cnt, datas);
datas[cnt]=name;
cnt++;
System.out.println(name+"μ΄(κ°) μ μ₯λμμ΅λλ€!");
}
else if(menu==2) { // νμλΆ μ 체μΆλ ₯
/*
if(cnt<=0) {
System.out.println("보μ¬μ€ νμ λ°μ΄ν°κ° μμ΅λλ€.");
continue;
}
*/
if(isEmpty(cnt)) {
continue;
}
printStudents(datas,cnt);
}
else if(menu==3) { // μ΄λ¦μΌλ‘ κ²μ
// κ²μμ΄λ₯Ό μ
λ ₯ >>
// μ΄ κ²μμ΄κ° λ§μ΅λκΉ? xxx : μ¬μ©μκ° νλ μ
λ ₯μ΄ λ°μ΄ν°μ λ³νλ₯Όμ£Όμ§μκΈ°λλ¬Έ
System.out.print("κ²μμ΄ μ
λ ₯ >> ");
String searchContent=sc.next(); // searchKeyword
boolean flag=false; // κ²μκ²°κ³Όκ° μλ μνλ‘ μμ
// νμλΆλ₯Ό νλνλ νμΈνλ©΄μ
System.out.println("===============");
for(int i=0;i<cnt;i++) {
// νμμ μ΄λ¦μμ κ²μμ΄κ° μλ? ==> ν°λͺ¨ == λͺ¨ xxxxx ν°λͺ¨μμ λͺ¨κ° μλ? o
if(datas[i].contains(searchContent)) { // ν°λͺ¨μμ λͺ¨κ° μλ?
System.out.println(datas[i]);
flag=true; // κ²μκ²°κ³Όλ₯Ό μ°Ύμ μν
}
// μλ€λ©΄, μΆλ ₯
// μλ€λ©΄, μΆλ ₯ x
}
if(!flag) { // κ²μκ²°κ³Όκ° μλ€λ©΄
System.out.println("κ²μκ²°κ³Όκ° μμ΅λλ€...");
}
// κ²μκ²°κ³Όκ° μλ€λ©΄, μλ€κ³ μλ €μ£ΌκΈ°
// 1. κ²μκ²°κ³Όκ° μλ€λ μΆλ ₯μ νλ²λ§! μννκΈ°λλ¬Έμ λ°λ³΅λ¬Έ λ°κΉ₯μμμ΄μΌν¨
// 2. κ²μκ²°κ³Όκ° μλ€λ μ¬μ€μ κ²μμ λ€~~~ ν΄λ΄μΌμμμμ
// ===>> flag λ‘μ§ λνμ μΈ μΌμ΄μ€ !!!
System.out.println("===============");
}
else if(menu==4) { // λ²νΈλ‘ κ²μ => PKλ‘ κ²μ == selectOne(getOne)
// Primary Key : "λ°μ΄ν°λ₯Ό 'μλ³'"ν μ μκ² ν΄μ£Όλ κ°
// ex) μ£Όλ―Όλ²νΈ, νλ², ...
// μ¬μ©μκ° μ§μ νλ κ²μ΄ μλλΌ, νλ‘κ·Έλ¨μμ λΆμ¬νλ κ°
// νμ¬ νμλΆ νλ‘κ·Έλ¨μμλ 'λ²νΈ' == PK
if(isEmpty(cnt)) {
continue;
}
selectOne(datas,cnt);
}
else if(menu==5) { // μ΄λ¦λ³κ²½
// UPDATE : UPDATE μ²λ¦¬ν λμ λ°μ΄ν°κ° νΉμ λμ΄μμ΄μΌν¨!
// ex) νλ‘ν μ¬μ§ λ³κ²½, λλ€μ λ³κ²½, ...
// μ΄λ¦μ λ³κ²½ν νμμ λ²νΈ μ
λ ₯ >>
// PKλ‘ λ°μ΄ν°λ₯Ό νΉμ ν νμ UPDATEλ₯Ό μ§νν΄μΌν¨
if(isEmpty(cnt)) {
continue;
}
int num=selectOne(datas,cnt);
datas[num-1]=inputName(cnt, datas);
}
else { // μ ν¨μ± κ²μ¬
System.out.println("μ λλ‘ μ
λ ₯ν΄μ£ΌμΈμ~~");
}
}
}
}
μ½λκ° μ λ§ κΉλλ€. μ λ μμ λ‘ μ΄ λ¬Έμ λ₯Ό λ°μμλ νΌμ λ€ νμ§λͺ»νκ³ μμ μκ°μ κ°μ¬λκ»μ
μλ €μ£Όλκ±°μ λ§μΆ° μ²μ²ν 곡λΆνλ©° μ΄ν΄νλκ±° κ°μ΅λλ€.
μ΄μ μ§κΈκΉμ§ λ°°μ΄ λ΄μ©λ€μ νλ‘κ·Έλλ° μΈμ΄λ₯Ό λ°°μ΄λ€λ©΄ λΉμ°ν μμμΌ ν λΆλΆλ€μ΄κ³
μ΄μ λΆν° λ°°μ°λ λ΄μ©λ€μ΄ μ§μ§ κ°μ²΄ μ§ν₯ νλ‘κ·Έλλ°μ΄λΌκ³ λ³Ό μ μμ κ±° κ°μ΅λλ€.
μ μ°¨μ§ν₯κ³Ό κ°μ²΄μ§ν₯
μ μ°¨μ§ν₯ VS κ°μ²΄μ§ν₯
- μ μ°¨μ§ν₯
νλ‘κ·Έλ¨μ μμμ λ§κ² μμ±νλ κ² (νλ¦λ)
- κ°μ²΄μ§ν₯
νλ‘κ·Έλ¨μ κ°μ²΄λ¨μλ‘ λλμ΄μ μμ±νλ κ²
μ§κΈλΆν° λ°°μΈ λ΄μ©μ κ°μ²΄μ§ν₯μ κ΄νκ²μ λ°°μλλ€.
Class
Classλ κ°μ²΄μ§ν₯ μ½λ©μ κΈ°λ³Έλ¨μμ΄λ©° κ°μ²΄λ₯Ό μμ±νλλ° μ¬μ©λλ€.
classμ κ°μ²΄μ κ΄κ³λ μ νμ μ€κ³λμ μ νκ³Όμ κ΄κ³μ μ μ¬νλ€.
μ νμ μ€κ³λ μμ΄λ μ νμ λ§λ€ μ μκ³ λ°λλ‘ μ νμ΄ μλ€λ©΄ μ€κ³λκ° μλλΌλ λ ν μ μλ€.
μμνμ κ³Ό μ λ°λμ νμ μ μ°Έμ‘°νμ μ΄λΌ λΆλ₯΄κ³ Classλ μ°Έμ‘°νμ μ€ νλμ μνλ€.
μμνμ (primitive type)μ΄λ?
μ€μ λ°μ΄ν° κ°μ μ μ₯νλκ²λ€μ΄λ€.
ex) int , long, short, byte λ±λ±
μ°Έμ‘°νμ (Reference type)μ΄λ?
κ°μ²΄μ μ£Όμλ₯Ό μ μ₯νλ€.
μμνμ μ μ μΈν νμ μ΄λ€.
ex) λ¬Έμμ΄ , λ°°μ΄, μμ, ν΄λμ€ ,μΈν°νμ΄μ€ λ±λ±
ν΄λμ€μ μν΄ μ μλ κ°μ²΄λ μμ±κ³Ό νμλ₯Ό κ°μ§λ€.
ν΄λμ€λ₯Ό ν΅ν΄ λ§λ€μ΄μ§ κ°μ²΄κ° μ€μ λ‘ μ¬μ©ν μ μλ μ£Όμ²΄κ° λλ€.
κ°μ²΄μ μΈμ€ν΄μ€λ ν¬κ² μ°¨μ΄λ₯Ό λμ§ μλλ€. κ°μ²΄κ° μΈμ€ν΄μ€λ₯Ό ν¬κ΄νλ μλ―Έμ λ¨μ΄μ΄λ€.
Class μ ꡬμ±μμ
ν΄λμ€μ μμλ νλ, λ©μλ , μ΄λν΄λμ€, μμ±μ μ΄ 4κ°μ§ ꡬμ±μμλ‘ μ΄λ£¨μ΄μ Έ μλ€.
1. νλ
ν΄λμ€μ λ³μλ₯Ό λνλΈλ€. κ°μ²΄μ λ°μ΄ν°, μνμ 보λ₯Ό μ μ₯νλ κ³³μ΄λ€.
2. λ©μλ
ν΄λμ€μ νμ(λ©μλ)λ₯Ό λνλΈλ€.
κ°μ²΄κ°μ λ°μ΄ν° μ λ¬ μλ¨μΌλ‘ μ΄μ©λλ€.
3. μμ±μ
ν΄λμ€μ κ°μ²΄λ₯Ό μμ±νκ³ μ΄κΈ°ν νλ μν μ νλ€.
newμ°μ°μλ₯Ό ν΅ν΄ νΈμΆλλ©° λ°ννμ μ μλ€.
4. μ΄λν΄λμ€
ν΄λμ€ λ΄λΆμ μ‘΄μ¬νλ λ νλμ ν΄λμ€μ΄λ€.
μ΄μ μ§κΈκΉμ§ λ°°μ΄ λ΄μ©μ λ°νμΌλ‘ Classμ λν μ°μ΅λ¬Έμ λ₯Ό νμ΄λ³΄κ² μ΅λλ€.
Class μ°μ΅λ¬Έμ
νμ ν΄λμ€κ° μμ΅λλ€.
νμμ μ΄λ¦,μ±μ (μ μ)μ΄ μμ΅λλ€.
νμμ λ°λμ μ΄λ¦μ κ°μ ΈμΌν©λλ€.
νμμ μμ±ν λ, μ±μ μ΄ 0~100μ μ¬μ΄λ‘ λλ€ μ μ₯λ©λλ€.
νμμ΄ hello() μΈμ¬λ₯Ό νλ©΄, μ΄λ¦κ³Ό μ±μ μ νλ©΄μ μΆλ ₯ν©λλ€.
class children {
String name;
int score;
children(String name){
this.name=name;
Random rand=new Random();
this.score=rand.nextInt(101);
}
void hello() {
System.out.println(this.name);
System.out.println(this.score);
}
}
public class PracticeTest01 {
public static void main(String[] args) {
children child = new children("νκΈΈλ");
child.hello();
}
}
'νμ€ν κ°λ°μ μμ±κ³Όμ πͺ« > γ Java γ' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[Java] κ°μ²΄ μ¬ν (0) | 2024.07.10 |
---|---|
[Java] ν΄λμ€ μμ (1) | 2024.07.10 |
[Java] ν¨μμ μ¬λ¬κ°μ§ μ νκ³Ό ForEachλ¬Έ (2) | 2024.07.02 |
[Java] μ΄μ€ forλ¬Έκ³Ό λ°°μ΄ (0) | 2024.07.02 |
[Java] 쑰건문과 λ°λ³΅λ¬Έ (0) | 2024.07.01 |