로또 1
// 중복 없이 6개의 로또 번호를 뽑고, 유저에게 6개의 번호를 받아
// 몇 개가 맞았는지 확인하는 프로그램
import java.util.Scanner;
public class Exam_14 {
public static void main(String[] args) {
int[] roto = new int[8];
int[] user = new int[8];
int col = 0;
for (int i = 0; i < 6; ++i) {
roto[i] = (int)(Math.random()*45+1);
for (int j = 0; j < i; ++j)
if (roto[i] == roto[j]) {
i--;
break;
}
}
Scanner in = new Scanner(System.in);
for (int i = 0; i < 6; ++i) {
System.out.println(i+1 + "번째 숫자는? : ");
user[i] = in.nextInt();
}
for (int i = 0; i < 6; ++i) {
for (int j = 0; j < 6; ++j)
if (roto[i] == user[j]) {
col++;
break;
}
}
for (int i = 0; i < 6; ++i) {
System.out.print(roto[i]+ " ");
}
System.out.printf("맞춘 로또 번호는 %d 개입니다!", col);
}
}
로또 2
// 만 개의 로또 번호를 뽑아 1번부터 45번까지 몇 번이 제일 많이 나왔나 확인하는 프로그램
public class Exam_16 {
public static void main(String[] args) {
int roto[] = new int[10002];
int co[] = new int[47];
for (int i = 1; i <= 45; ++i) {
co[i] = i;
}
int num[] = new int[47];
for (int i = 1; i <= 45; ++i) {
num[i] = 0;
}
int score[] = new int[47];
for (int i = 1; i <= 45; ++i) {
score[i] = 0;
}
// 만번 돌려서 숫자에 몇 번 나왔는지 저장히기
for (int i = 1; i <= 10000; ++i) {
roto[i] = (int)(Math.random()*45+1);
for(int j = 1; j <= 45; ++j) {
if (roto[i] == co[j]) {
num[j]++;
}
}
}
// 가장 많이 나온 스코어 알아보기
for(int i = 1; i <= 45; ++i) {
for (int j = 1; j <= 45; ++j) {
if (num[j] > num[i]) {
score[j]++;
}
}
}
// 순위 매기기
int co1 = 0;
for(int i = 1; i <= 6; ++i) {
for(int j=1; j <=45; ++j) {
if (i == score[j])
System.out.println(j + " ");
co1++;
if (co1 > 6) System.exit(0);
}
}
}
}
야구 게임
// 야구 게임
import java.io.IOException;
import java.util.Scanner;
public class Exam01 {
public static void main(String[] args) throws IOException{
int com[] = new int[4];
int user[] = new int[3];
int str = 0;
int ball = 0;
int co = 0;
int out = 0;
for (int i=0; i<3; ++i) {
com[i] = (int)((Math.random()*9)+1);
for (int j = 0; j < i; ++j)
if (com[i] == com[j]) {
i--;
break;
}
}
System.out.printf("%d %d %d", com[0], com[1], com[2]);
while (true) {
Scanner in = new Scanner(System.in);
System.out.println("숫자 세 개 입력 : ");
for (int i=0; i < 3; ++i) {
user[i] = System.in.read()-48;
}
for (int i=0; i < 3; ++i) {
if (com[i] == user[i]) {
str++;
}else if(com[i] != user[i]) {
for(int j=0; j<3; ++j) {
if (com[i] == user[j]) {
ball++;
}else {
out++;
}
}
}
}
co++;
if (out == 9) {
System.out.println("OUT");
}else if(str == 3){
System.out.println(co + "번 만에 맞히셨습니다!");
break;
}else {
System.out.printf("%dS %dB", str, ball);
}
str = 0;
ball = 0;
}
}
}
SELECT sort 알고리즘
// 선택 정렬 알고리즘
// 위치 값을 지정하고 뒤 값이랑 비교해서 더 작은 수가 있다면 자리를 바꿈
import java.util.Scanner;
public class Exam_02 {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int num[] = new int[10];
for(int i = 0; i < 10; ++i) {
System.out.println(i+1 + "번째 숫자를 입력하세요 : ");
num[i] = in.nextInt();
}
for(int i = 0; i < num.length-1; ++i) {
for(int j = i + 1; j < 10; ++j) {
if (num[i] > num[j]) {
int k = num[j];
num[j] = num[i];
num[i] = k;
}
}
}
for(int i = 0; i < 10; ++i) {
System.out.print(num[i] + " ");
}
}
}
bubble sort 알고리즘
// 버블 정렬 알고리즘
// 자기 바로 뒤 숫자랑 비교해서 앞이 더 크면 바꾸기
public class Exam_03 {
public static void main(String[] args) {
int arr[] = new int[10];
for (int i = 0; i < 10; ++i) {
arr[i] = (int)(Math.random()*100+1);
for (int j = 0; j < i; ++j)
if (arr[i] == arr[j]) {
i--;
break;
}
}
System.out.print("정렬하기 전 : ");
for (int i = 0; i < 10; ++i) {
System.out.print(arr[i] + " ");
}
for(int i = arr.length-2; i >=0; --i) {
for(int j = 0; j <= i; ++j) {
if (arr[j] > arr[j+1]) {
int k = arr[j];
arr[j] = arr[j + 1];
arr[j+1] = k;
co++;
}
}
if (co == 0) break;
}
System.out.print("\n정렬한 후 : ");
for (int i = 0; i < 10; ++i) {
System.out.print(arr[i] + " ");
}
}
}