수업시간 JAVA/문제
배열 로또 10진수 등등
SEOKIHOUSE
2023. 4. 8. 19:25
1)대각선으로 10출력
2)랜덤으로 어디서 무엇을 했다 출력
3)
배열0~3은 숫자1씩 증가하고 마지막행은 0~3행 더한값
4)배열 정순->역순->정순 숫자증가하기
5)지뢰찾기 auto (숫자 9 찾기)
package org.tutorials.practice1;
import java.util.Random;
import java.util.Scanner;
public class ziraefindauto {
public static int getrandom(int[][] hide) {
Random rd = new Random();
for (int i = 0; i < 3; i++) {
int raNum0 = rd.nextInt(5);
int raNum1 = rd.nextInt(5);
hide[raNum0][raNum1] = 9;
}
return 0;
}
public static void main(String[] args) {
// 지뢰찾기 auto
Scanner sc = new Scanner(System.in);
int[][] hide = new int[5][5];
int[][] real = new int[5][5];
int howmanytimetry = 0;
getrandom(hide);
while (true) {
System.out.println("숫자 9를 찾으세요");
System.out.print("먼저 열을 선택하세요");
int a = sc.nextInt(); // 열
System.out.print("행을 선택하세요");
int b = sc.nextInt(); // 행
int count = 1;
if (hide[a][b] == 9) {
real[a][b] = 9;
System.out.println("정답이다!!!!!!!!!!" + howmanytimetry + " 시도끝에 맞추셨습니다");
} else {
real[a][b] = count;
howmanytimetry++;
}
// 출력부분
for (int i = 0; i < hide.length; i++) {
for (int j = 0; j < real.length; j++) {
System.out.print(real[i][j] + " ");
}
System.out.println();
}
}
}
}
6)10진수 ->2진수로 바꾸기
package org.tutorials.practice1;
public class twojinsoo3 {
public static void main(String[] args) {
int [] a = new int [4];
int mok = 11;
int na =0;
int idx =a.length-1;
while(mok> 0) {
na = mok %2;
a[idx] =na;
idx --;
mok =mok/2;
}
for(int i =0; i<a.length; i++) {
System.out.print(a[i]);
}
}
}
7)학생 총합점 구하기
package org.tutorials.practice1;
import java.util.Scanner;
public class practice1 {
public static void repeat(String some) {
System.out.println(some + "를 입력하세요");
}
public static int getTotal(int cnt, String[] names, int[] nums, int[] score1, int[] score2, int[] score3) {
for (int i = 0; i < cnt; i++) {
int[] sum = new int[cnt];
sum[i] = score1[i] + score2[i] + score3[i];
int[] div = new int[cnt];
div[i] = sum[i] / 3;
System.out.println(nums[i] + "번 " + names[i] + " 님의 국어점수는 " + score1[i] + "영어점수는 " + score2[i] + "수학점수는 "
+ score3[i] + "총합점은" + sum[i] + "평균은" + div[i]);
}
return 0;
}
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.print("총 몇명의 학생입니까? ");
int cnt = sc.nextInt();
int[] nums = new int[cnt];
String[] names = new String[cnt];
int[] korscore = new int[cnt];
int[] engscore = new int[cnt];
int[] mathscore = new int[cnt];
for (int i = 0; i < cnt; i++) {
repeat("번호");
nums[i] = sc.nextInt();
repeat("이름");
names[i] = sc.nextLine();
names[i] = sc.nextLine();
repeat("국어점수");
korscore[i] = sc.nextInt();
repeat("영어점수");
engscore[i] = sc.nextInt();
repeat("수학점수");
mathscore[i] = sc.nextInt();
}
getTotal(cnt, names, nums, korscore, engscore, mathscore);
}
}
8)로또 중복없이 출력 + 낮은수부터 정렬
package org.tutorials.practice1;
import java.util.Random;
public class lottonumber {
public static void print(int[] x) {
for (int i = 0; i < x.length; i++) {
System.out.print(x[i] + " ");
}
System.out.println();
}
public static boolean checking(int[] lotto, int raNum0) {
boolean result = true;
for (int i = 0; i < lotto.length; i++) {
if (lotto[i] == raNum0)
result = false;
}
return result;
}
public static void sort(int[]a) {
int tmp = 0;
for(int i =0; i<a.length; i++) { //a.length -1하는이유 마지막 굳이 실행안해도 되니깐 줄여주는것
for(int j =i+1; j<a.length; j++) {
if(a[i]>a[j]) {
tmp=a[i];
a[i]=a[j];
a[j]=tmp;
}
}
}
}
public static void main(String[] args) {
Random rd = new Random();
int[] lotto = new int[6];
// for (int i = 0; i < lotto.length; i++) {
// int raNum0 = rd.nextInt(100) + 1;
// lotto[i] = raNum0;
// for (int j = 0; j < i; j++) {
// if (lotto[i] == lotto[j]) {
// System.out.println("중복수 발견!!");
// i--;
// break;
// }
// }
// System.out.println(lotto[i]);
// }
for (int i = 0; i < lotto.length; i++) {
int raNum0 = rd.nextInt(100) + 1;
boolean tf = checking(lotto, raNum0);
if (tf) {
lotto[i] = raNum0;
} else {
i--;
System.out.println("중복수 발견!!");
}
}
print(lotto); //배열출력
sort(lotto); //배열정렬
System.out.println("낮은 수 부터 정렬");
print(lotto); //배열출력
}
}