0224 Review
39792 ワード
エンコードをすると思ったより簡単に解決できるものに驚きます.
文字列をcharに変換した後、ランダムに並べ替え、問題として出題し、解答の出所に驚いた.これらの例やソースコードに遭遇すると、エラーや無効な符号化を減らすために、より多くの例やソースコードに接触します.
今日のコードデジタル野球続編
(変数位置をクリーンアップし、user入力値int>Stringに変更して数式を削除) 以前から気になっていたNextint VS Math.random
(何度も回りましたが、特定の数字に偏っているものは一つもなく、両方とも見えないので、快適なものを選べばいいです) 図時計回りに90度 回転
文字列をcharに変換した後、ランダムに並べ替え、問題として出題し、解答の出所に驚いた.これらの例やソースコードに遭遇すると、エラーや無効な符号化を減らすために、より多くの例やソースコードに接触します.
今日のコード
(変数位置をクリーンアップし、user入力値int>Stringに変更して数式を削除)
package chap06;
import java.util.Scanner;
public class BaseballGame {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int count = 0;
int a;
int b;
int c;
//겹치지 않는 난수 생성기
while(true) {
a = (int)(Math.random()*9)+1;
b = (int)(Math.random()*9)+1;
c = (int)(Math.random()*9)+1;
if(a!=b && b!=c && c!=a) {
break;
}
}
int userA;
int userB;
int userC;
//user값 입력 + 야구 계산문
System.out.println("세 자리 숫자를 입력하세요.");
while(true) {
String user = scan.next();
//자릿수 에러 처리
if(user.length()<3) {
System.out.println("Error : 세자릿수를 입력하세요.");
continue;
}
userA = user.charAt(0)-'0';
userB = user.charAt(1)-'0';
userC = user.charAt(2)-'0';
//0 or 겹치는 숫자 처리
if(userA==0 || userB==0 || userC==0) {
System.out.println("Error : 0은 입력할 수 없습니다.");
continue;
} else if(userA==userB || userB==userC || userC==userA) {
System.out.println("Error : 겹치지 않는 숫자를 입력하세요.");
continue;
}
//계산 시작과 Strike, Ball, Out 초기화
int strike = 0;
int ball = 0;
int out = 0;
count++;
if(a==userA) {
strike++;
} else if (a==userB || a==userC) {
ball++;
} else {
out++;
}
if(b==userB) {
strike++;
} else if (b==userC || b==userA) {
ball++;
} else {
out++;
}
if(c==userC) {
strike++;
} else if (c==userB || c==userA) {
ball++;
} else {
out++;
}
System.out.printf("숫자 '%s%s%s' - Strike:%s, Ball:%s, Out:%s (시도횟수:%s)\n",userA,userB,userC,strike,ball,out,count);
if(strike==3) {
System.out.println("게임에서 이겼습니다!");
scan.close();
break;
}
}
}
}
(何度も回りましたが、特定の数字に偏っているものは一つもなく、両方とも見えないので、快適なものを選べばいいです)
package study0224;
import java.util.Random;
public class VarNumEx {
public static void main(String[] args) {
Random num = new Random();
int[] arr1 = new int[100];
int[] arr2 = new int[10];
int max1 = 0;
int max2 = 0;
System.out.println("nextInt 사용시");
for(int maxNum=0; maxNum<10000; maxNum++) {
for(int i=0; i<arr1.length; i++) {
int a = num.nextInt(10);
arr1[i] = a;
}
for(int i=0; i<arr1.length; i++) {
int tmp=arr1[i];
for(int j=0; j<arr2.length; j++) {
if(tmp==j) {
arr2[j]++;
}
}
}
}
for(int i=0; i<arr2.length; i++) {
System.out.printf("%s : %s개\n",i,arr2[i]);
max1 += arr2[i];
}
System.out.println(max1);
System.out.println();
int[] arr1_Math = new int[100];
int[] arr2_Math = new int[10];
System.out.println("Math.random() 사용시");
for(int maxNum=0; maxNum<10000; maxNum++) {
for(int i=0; i<arr1_Math.length; i++) {
int a = (int)(Math.random()*10);
arr1_Math[i] = a;
}
for(int i=0; i<arr1_Math.length; i++) {
int tmp=arr1_Math[i];
for(int j=0; j<arr2_Math.length; j++) {
if(tmp==j) {
arr2_Math[j]++;
}
}
}
}
for(int i=0; i<arr2_Math.length; i++) {
System.out.printf("%s : %s개\n",i,arr2_Math[i]);
max2 += arr2_Math[i];
}
System.out.println(max2);
}
}
package study0224;
public class ArrExFigureSpin {
public static void main(String[] args) {
char[][] star = {
{'*','*',' ',' ',' '},
{'*','*',' ',' ',' '},
{'*','*','*','*','*'},
{'*','*','*','*','*'},
};
char[][] result = new char[star[0].length][star.length];
for(int i=0; i<star.length; i++) {
for(int j=0; j<star[i].length; j++) {
System.out.print(star[i][j]+" ");
}
System.out.println();
}
System.out.println();
for(int i=0; i<star.length; i++) {
for(int j=0; j<star[i].length; j++) {
int x = star.length-1;
result[j][i] = star[x-i][j];
}
}
for(int i=0; i<result.length; i++) {
for(int j=0; j<result[i].length; j++) {
System.out.print(result[i][j]+" ");
}
System.out.println();
}
}
}
Reference
この問題について(0224 Review), 我々は、より多くの情報をここで見つけました https://velog.io/@ehddnr3689/0224-Reviewテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol