π¨π» Web Development/Java
[Day12] Java 12 - λ°°μ΄μ νμ©
Kim_dev
2022. 9. 1. 22:24
[Day12] Java 12 [8/24]
1. λ°°μ΄, λ°λ³΅λ¬Έ, μ λ ₯
package days12;
import java.util.Random;
import java.util.Scanner;
/**
* @author k≡n¡k
* @date 2022. 8. 24. - μ€μ 10:34:46
* @subject λ°°μ΄~
* @content
*
*/
public class Ex02 {
public static void main(String[] args) {
// ν νμμ μ΄λ¦,κ΅μ΄,μμ΄,μν,μ΄μ ,νκ· ,λ±μλ₯Ό μ μ₯νλ μ½λ©~
//String name;
//int kor, eng, mat, tot, rank;
//double avg;
// ν λ°μ 30λͺ
νμ
// μ΄λ¦,κ΅μ΄,μμ΄,μν,μ΄μ ,νκ· ,λ±μλ₯Ό μ μ₯νλ μ½λ©
// String name1, name2,name3,name4~ name30;
// int kor1, kor2~ kor30;
// 30κ°
// λ°°μ΄ μ¬μ©.
final int STUDENT_COUNT = 30;
String [] names = new String[STUDENT_COUNT];
int [] kors = new int[STUDENT_COUNT];
int [] engs = new int[STUDENT_COUNT];
int [] mats = new int[STUDENT_COUNT];
int [] tots = new int[STUDENT_COUNT];
int [] ranks = new int[STUDENT_COUNT];
double [] avgs = new double[STUDENT_COUNT];
int count = 0; // == μ
λ ₯λ°μ νμ μ (μλ―Έ) index λ³μ λμΌνλ€.
char con = 'y';
Scanner scanner = new Scanner(System.in);
do {
// 11:05 μμ
μμ~
System.out.printf("> [%d]λ² νμ μ΄λ¦,κ΅,μ,μ μ
λ ₯ ? ", count+1);
String name = getRandomName(); // scanner.next();
int kor = getRandomScore(); // scanner.nextInt();
int eng = getRandomScore(); // scanner.nextInt();
int mat = getRandomScore(); // scanner.nextInt();
int tot = kor + eng + mat;
double avg = (double)tot / 3;
int rank = 1;
//
names[count] = name;
kors[count]=kor;
engs[count]=eng;
mats[count]=mat;
tots[count]=tot;
avgs[count]=avg;
ranks[count]=rank;
count++; // 2
System.out.print("> νμ μ
λ ₯ κ³μ ν λ ? ");
con = scanner.next().charAt(0);
} while ( Character.toUpperCase( con ) == 'Y' );
System.out.printf("μ΄ νμμ : %d\n" , count );
// 12:05λΆ μμ
μμ~
// μ 체 νμμ λ±μ μ²λ¦¬. - 1λ²
// λ±μμ²λ¦¬νλ ν¨μλ₯Ό λ§λ€μ΄μ μ²λ¦¬νμΈμ.
// 1) κΈ°λ₯ 2) 맀κ°λ³μ ? 3) 리ν΄κ°(리ν΄μλ£ν)
ranks = getRank(tots, ranks, count);
// νμ μ 보 μΆλ ₯
for (int i = 0; i < count ; i++) {
System.out.printf("%s\t%d\t%d\t%d\t%d\t%.2f\t%d\n",
names[i], kors[i], engs[i],mats[i], tots[i], avgs[i], ranks[i]
);
}
// toUpperCase() ν¨μλ λλ¬Έμλ‘ λ³νν΄μ λ°ννλ ν¨μ
// toLowerCase() μλ¬Έμ
//System.out.println( Character.toUpperCase( 'y') ); // 'Y'
//System.out.println( Character.toUpperCase( 'Y') ); // 'Y'
} // main
public static int [] getRank( int [] tots, int [] ranks , int count) {
for (int i = 0; i < count; i++) { // i λ±μ맀길 νμ
ranks[i] = 1; // μ€μ
for (int j = 0; j < count; j++) {
if( tots[i] < tots[j] ) ranks[i]++;
}
}
return ranks;
}
// 0~100 μ μ
public static int getRandomScore() {
Random rnd = new Random();
return rnd.nextInt( 101 ); // 0<= int <101
}
// μ΄λ¦
public static String getRandomName() {
String name = null;
Random rnd = new Random();
// 'A'~'Z' 무μμ 5κ° λ¬Έμ λ°μ -> String name λ³ν
// 65~90
char [] names = new char[5];
for (int i = 0; i < names.length; i++) {
names[i] = (char) (rnd.nextInt(26)+65);
}
// char [] -> String λ³ν
// name = String.valueOf(names);
name = new String( names );
return name;
}
} // class
2. μμ μΆκ° / μμ / μ½μ
public static void main(String[] args) {
// λ°°μ΄ μ΄κΈ°ν.
int [] m = { 1,2,3,4,5};
System.out.println( Arrays.toString( m ) );
// 1. μμ μΆκ°
int index = 5;
if( index == m.length ) m = Ex01.increaseArraySize(m, 3);
m[index] = 6;
System.out.println( Arrays.toString( m ) );
index++;
// 2. μμ μμ - index = 2
// [1, 2, (3), 4, 5, 6, 0, 0]
// [1, 2, 4, 5, 6, 0, 0,0]
for (int i = 3; i < m.length; i++) {
m[i-1]= m[i];
}
m[m.length-1] = 0;
System.out.println( Arrays.toString( m ) );
index--;
// 3. μμ μ½μ
// [1, 2, 4, 5, 6, 0, 0, 7]
// 1) λ°°μ΄ ν¬κΈ° μ¦κ° 체ν¬
// 2) μ½μ
ν μμΉ - 3 , 100 μ μ μ½μ
// [1, 2, 4 , (100), 5, 6, 0, 0]
// if( m[m.length-1] != 0 ) m = Ex01.increaseArraySize(m, 3);
// κ°μ 0
// [1, 2, 4, 5, 6, 0, 0, 0]
// [1, 2, 4, 100, 5, 5, 5, 5]
if( index == m.length ) m = Ex01.increaseArraySize(m, 3);
for (int i = index -1 ; i >= 3 ; i--) {
m[i+1] = m[i];
}
m[3]=100;
System.out.println( Arrays.toString( m ) );
index++;
m[0] = 1000;
} // main
3. μ΅λκ°, μ΅μκ° μ°Ύμ μΆλ ₯
public static void main(String[] args) {
// λ²μ 0~100 μ ν΄μ Έ μμΌλ©΄ X
int [] score = { 79, 88, 91, 33, 100, 55, 95 };
// μ μ : μ΅λκ°, μ΅μκ° μ°Ύμμ μΆλ ₯.
// int max = -1, min = 101;
int max , min;
max = min = score[0]; // 79
for (int i = 1; i < score.length; i++) {
if( max < score[i]) max = score[i];
else if( min > score[i] ) min = score[i];
}
System.out.printf("μ΅λκ°:%d, μ΅μκ°:%d\n", max, min);
} // main
4. μΉ΄λμκΈ°
public static void main(String[] args) {
// μΉ΄λ μκΈ°, νν¬ μκΈ°
int [] m = new int[10];
for (int i = 0; i < m.length; i++) {
m[i] = i+1;
}
System.out.println( Arrays.toString( m ) );
shuffle(m); // μ λ΅
System.out.println( Arrays.toString( m ) );
} // main
// λλ€ μκΈ° ν¨μ
public static void shuffle(int [] m) {
// μ«μ μκΈ°
Random rnd = new Random();
int a, b, temp;
for (int i = 0; i < 100; i++) {
a = rnd.nextInt(10); // 4
b = rnd.nextInt(10); // 8
temp = m[a];
m[a] = m[b];
m[b] = temp;
}
}
5. κ°λ³ λ°°μ΄
- λ€μ°¨μ λ°°μ΄μμ μ 체 λ°°μ΄ μ°¨μ μ€μ λ§μ§λ§ μ°¨μμ κΈΈμ΄λ₯Ό μ§μ νμ§ μμ λ°°μ΄
- μΆνμ κ°λ°μκ° λ§μ§λ§ μ°¨μλ₯Ό μ§μ ν μλ
int [][] m = new int[3][]; // κ°λ³λ°°μ΄ μ΄ == λ§μ§λ§μ°¨μ
m[0] = new int[10];
m[1] = new int[5];
m[2] = new int[7];
6. λλ€ μΈλ±μ€ ν΅ν΄μ λ¬Έμ λλ€μΌλ‘ λμ€κ² νκΈ°
public static void main(String[] args) {
// μ 보μ²λ¦¬κΈ°μ¬
// [λ¬Έμ ] -> μ μ΄λ¬Έ(ν2μ€2μ1),μ°μ°μ,λ°°μ΄ ->
// μμ΄λ¨μ΄ -> μΆλ ₯ : λ» μ²΄ν¬νλ μ½λ©. - λ°°μ΄
String [][] words = {
{"chair","μμ"}, // κ° νλ§λ€ 0μ΄ μμ΄λ¨μ΄, 1μ΄ λ»
{"computer", "μ»΄ν¨ν°"},
{"integer", "μ μ"}
};
// λλ€νκ² 1λ¬Έμ μΆμ
// ν κ°―μ :3 == 3λ¬Έμ
// ν κ°―μ λλ€νκ² λ°μ 0 , 1 , 2
Random rnd = new Random();
Scanner scanner = new Scanner(System.in);
// λ¨μ΄ λ¬Έμ 10κ° -> μ λ΅ 6κ° μκ°(ꡬν)
char con = 'y';
do {
int rowIndex = rnd.nextInt(3);
String λ¬Έμ λ¨μ΄ = words[rowIndex][0];
System.out.printf("\"%s\" λ¨μ΄μ λ»μ μ μΌμΈμ ? ", λ¬Έμ λ¨μ΄ );
String word= scanner.next();
if( words[rowIndex][1].equals(word) ) System.out.println("μ λ΅");
else System.out.println("μ€λ΅");
System.out.print("> λ¬Έμ κ³μν λ? ");
con = scanner.next().charAt(0);
} while ( Character.toUpperCase(con) =='Y');
System.out.println("end");