[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");
'๐จโ๐ป Web Development > Java' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Day14] Java 14 - N์ฐจ์ ๋ฐฐ์ด ์ฑ์๋ฃ๊ธฐ, OOP ๊ธฐ๋ณธ (0) | 2022.09.06 |
---|---|
[Day13] Java 13 - ์ ๋ ฌ, ์ธ๋ฑ์ค(๋ฉ์๋ํ์ฉX) (0) | 2022.09.06 |
[Day11] Java 11 - ๋ฌ๋ ฅ์ถ๋ ฅ, ๋ฐฐ์ด, N์ฐจ์ ๋ฐฐ์ด (0) | 2022.09.01 |
[Day10] Java 10 - ์ง์ ๋ณํ (0) | 2022.09.01 |
[Day9] Java 9 - ๋ก๋, ํฉํ ๋ฆฌ์ผ, ์นด๋๋ฒํธ (0) | 2022.09.01 |
์ต๊ทผ๋๊ธ