忍者ブログ

学習用

2025
04,28

«[PR]»

×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

2020
07,03
public class MyApp{
 
public static void main(String[] args){
//配列
int[] sales;
sales = new int[3];
sales[0] = 100;
sales[1] = 200;
sales[2] = 300;
 
//上書き
System.out.println(sales[1]);
sales[1] = 1000;
System.out.println(sales[1]);
 
 
}
 
}

↓実行結果

PR
2020
07,02

HitandBlow_2

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class HitandBlow {
//answer_sizeに代入される数は当てる数字の桁数。
final static int answer_size = 3;
static int hit = 0;
static int blow = 0;
static int challenge = 1;
//メインメソッド
public static void main(String[] args) {
printDirection();
int[] right_answer;
right_answer = makeRightAnswer();
while(true) {
int[] user_answer;
user_answer = readUserAnswer();
checkAnswer(right_answer, user_answer);
challenge++;
if(hit == answer_size) {
System.out.println("正解です。ゲームを終了します。");
break;
}
}
}
//説明を出力するメソッド
public static void printDirection() {
StringBuffer sb = new StringBuffer();
sb.append("ゲームを開始します。\n");
sb.append("これから0~9の"+answer_size+"つの数字を当ててもらいます。\n");
sb.append("同じ数字が使用されていることはありません。\n");
sb.append("数字と位置が合っていた場合、\"hit\"\n" );
sb.append("数字が合っていて位置が間違っていた場合、\"blow\"とカウントされます。");
String direction = sb.toString();
System.out.println(direction);
}
//ランダムに正解を作成するメソッド
public static int[] makeRightAnswer() {
int[] answer = new int[answer_size];
for(int i = 0; i < answer.length; i++) {
answer[i] = (int)(Math.random()*10);
for(int j = i-1; j >=0; j--) {
if(answer[j] == answer[i]) {
answer[i] = (int)(Math.random()*10);
}
}
}
return answer;
}
//入力された数字を読み込むメソッド
public static int[] readUserAnswer() {
hit = 0;
blow = 0;
int[] answer = new int[answer_size];
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
System.out.println("\n"+challenge+"回目のチャレンジ");
for(int i = 0; i < answer.length; i++) {
try {
System.out.print((i+1)+"つ目の数字:");
String a = reader.readLine();
int b = Integer.parseInt(a);
answer[i] = b;
}catch (NumberFormatException e) {
System.out.println("数字を入力してください。");
i--;
}catch (IOException e) {
System.out.println("形式が間違っています。");
i--;
}
}
return answer;
}
//解答と照らし合わせるメソッド
public static void checkAnswer(int[] right_answer,int[] user_answer) {
for(int i = 0; i < right_answer.length; i++) {
for(int j = 0; j < user_answer.length; j++) {
if(right_answer[j] == user_answer[i]) {
if(j==i) {
hit++;
}else {
blow++;
}
}
}
}
System.out.println(hit+" hit  "+blow+" blow");
}
}
2020
07,01

HitandBlow_1

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class HitandBlow {
//answer_sizeに代入される数は当てる数字の桁数。
final static int answer_size = 3;
static int hit = 0;
static int blow = 0;
static int challenge = 1;

//メインメソッド
public static void main(String[] args) {

printDirection();
int[] right_answer;
right_answer = makeRightAnswer();

while(true) {
int[] user_answer;
user_answer = readUserAnswer();
checkAnswer(right_answer, user_answer);
challenge++;
if(hit == answer_size) {
System.out.println("正解です。ゲームを終了します。");
break;
}
}
}

//説明を出力するメソッド
public static void printDirection() {
String direction = "ゲームを開始します。\n"
+ "これから0~9の"+answer_size+"つの数字を当ててもらいます。\n"
+ "同じ数字が使用されていることはありません。\n"
+ "数字と位置が合っていた場合、\"hit\"\n"
+ "数字が合っていて位置が間違っていた場合、\"blow\"とカウントされます。\n\n";

System.out.println(direction);
}

//ランダムに正解を作成するメソッド
public static int[] makeRightAnswer() {
int[] answer = new int[answer_size];
for(int i = 0; i < answer.length; i++) {
answer[i] = (int)(Math.random()*10);
for(int j = i-1; j >=0; j--) {
if(answer[j] == answer[i]) {
answer[i] = (int)(Math.random()*10);
}
}
}
return answer;
}

//入力された数字を読み込むメソッド
public static int[] readUserAnswer() {
hit = 0;
blow = 0;
int[] answer = new int[answer_size];
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
System.out.println("\n"+challenge+"回目のチャレンジ");
for(int i = 0; i < answer.length; i++) {
try {
System.out.print((i+1)+"つ目の数字:");
String a = reader.readLine();
int b = Integer.parseInt(a);
answer[i] = b;
}catch (NumberFormatException e) {
System.out.println("数字を入力してください。");
i--;
}catch (IOException e) {
System.out.println("形式が間違っています。");
i--;
}
}
return answer;
}

//解答と照らし合わせるメソッド
public static void checkAnswer(int[] right_answer,int[] user_answer) {
for(int i = 0; i < right_answer.length; i++) {
for(int j = 0; j < user_answer.length; j++) {
if(right_answer[j] == user_answer[i]) {
if(j==i) {
hit++;
}else {
blow++;
}
}
}
}
System.out.println(hit+" hit "+blow+" blow");
}
}
2020
06,30
今回自身のメンターにチャットにて質問した。

1資格
→oracle javaのBronzeについて
・取得するためには過去問の学習がベースになってくる
・キャリアがない分、取得していたほうがいいが
 値段が高いため一発合格を狙うこと。
 調べたところ総額36,540円。割引クーポンがあるっちゃあるらしいけど。
 低所得者である私は高すぎて笑った。

2書籍
→おすすめの書籍について
・基本的な説明書きのある書籍を一冊、応用まで色々書いてる本1冊を用意されるとのことで。
・おすすめされたJavaの絵本早速昼休みに購入。
(たまたまブックオフにあった!定価より600円ほど安値でゲット)
 この本イラストのウエイトが高めでイメージしやすくてわかりやすかった

 ※当初、この本の1ページから
  Eclipseを使用してコードをマネして→実行→ほー、こんな感じかー→マネして→実行→ほー、こんなk
  を繰り返した。60ページくらいまで進めてやめた。理由は3プログラムについてに記載


3プログラム
→プログラムを組む について
・興味があるものをつくってみたり実際に動かしてみたりして楽しさを知る。といいろのことで。
 終業後、早速ゲームをつくるべくネットでいろいろ調べた結果、ヒットアンドブローを作成することに。
 2書籍で 購入した本を読み進めていた私は、その本を教科書として使用することにした。
 『こういう動きにしたいけどどう書けばいーんだっけ』といったときや
 『このコードは何してんだ』といったときにJavaの絵本を使用することにした。
 コードをマネして→実行→ほー、こんn を最後のページまでやりたかったが
 実際にプログラムを動かして学習したほうがもっと身につくと思った。
 始めたことを途中でやめるのが気持ち悪い病なのでJavaの絵本を放棄した気分になり
 アレルギー反応がでた。アレルギー反応が出ていたのは体感10分。実際1分もなかったとおもう。
 あとから気づいたけど、
 『応用の本に書いてある内容をそのまま実施してみて
 わかんなくなったときに基本の本(Javaの絵本)を見て進めてみて』
 と、チャットにメッセージに書いてあった。書いてあった.....
 勘違いってこわい。単細胞で脊髄反射で活動している私は
 こういうことまじ多い気がする。
 始めたことを途中でやめるのが気持ち悪い病とかもう一生ほざかない


4マンガ
・実際のところ本じゃなくてもいい について
 おすすめされたのはマンガでわかるJava
 こちらもJavaの絵本と同様イラストのおかげで目が飽きることなく
 読み進めることができた。
 2書籍 で 応用の本を用意する とおっしゃっていましたが
 こういったウェブ上の媒体でも問題ないとのこと。
 節約のため、マンガでわかるJava にお世話になることにした。

5今後覚えてきたら
・  Javaである程度基礎が身についてきたら という解釈でいいのかわからないけど
 Javaに限らずこんなのあったら便利だな~から派生して
 Excelでマクロ組んだりしてみてもいいかも
 とのこと。
 excelを使わない案件はまずない!簡単なツールを作れると作業効率を上げれたりもするので有用とのこと。
 やりたあい
 でもいったんJava終わらせようと思う




10

最後に
タイトルに 10のことって書いたけど全然余った。

[4] [5] [6] [7] [8] [9]


« 前のページ: HOME
プロフィール
HN:
No Name Ninja
性別:
非公開
カテゴリー
最新記事
P R

Powered by Ninja.blog * TemplateDesign by TMP
忍者ブログ[PR]