Socially incompatible person

プログラミングは全く初めてのド素人どこまでやれるか挑戦します。

JAVA に再再挑戦(標準入力で入力した数値の最大値と最小値を出力する)

主題の問題を本日午前まで考えましたが
日本語的にコマンドを作成するとどうしても
最小値がうまく出力できません。


なので同僚に教えを乞いアドバイスを
もらいましたがいまいち理解できませんでした。


そこで
エクリプスのデバッグ機能を使用して
一つづつ細かい動作を何度も確認しました。



最小値をうまく入力するポイントは下記8~10行目の
で後に条件付けして動作させる際の基準となる数値を
forの1週目の際に変数のmini,maxに代入する
事ができていなかった事です。


最大値は上記の作業を意識しなくてもうまく動作しますが
最小値は上記作業をしないと正の数を入力しない場合
は初期値が0になっている為出力は0となってしまいます。
(負の数を入力した場合は上手く出力されるのですが・・・)
なので9行目、特に10行目の変数miniとmaxに1回目の標準入力の
値が必要となる事が理解できました。


今までは自分ひとりの力で何としてでも問題を解こうとしていましたが
やはりやり方を理解している人に教えてもらうと理解度が変わる為
ある程度やって解らない場合は教えてもらうことも重要だなと感じました。


今回教えてもらって作成したコードは下記の通りです。


Scanner scan = new Scanner(System.in);


int mini=0;
int max=0;
//int mininum;
for (int i=1; i<11; i++) {
int x = scan.nextInt();
System.out.println(i+"″つ目の数字");

if (i==1) { //1週目の標準入力で最大値と最小値の基準値を入力
max = x;
mini =x;

}

if(x>max) {
max=x;
}
if(mini>x) {
mini=x;

}
}
System.out.println(max+"これは最大値です。");
System.out.println(mini+"これは最小値です。");
}


}

2/8に書いた記事につきまして

先日2月8日に公開しました記事ですが
問題をうまく解答できたと考えておりましたが
再度プログラムを実行するとうまく動作しない事が
わかりました。


なので今いろいろとやりながら調べているところです。
うまく答えを探し出せたら公開したいと思います。

JAVA に再挑戦(標準入力で入力した数値の最大値と最小値を出力する)

JAVA挑戦復帰後に今までやっていたところでは
うまく解答を導きだす事ができないので
少し遡って今までやった問題に再挑戦していますが
今回は主題の問題に挑戦しました。


今回は何とか解けたと思いますので記載します。



Scanner scan = new Scanner(System.in);

int mini=0; //最小値を入れておく箱
int max=0; //最大値を入れておく箱

for (int i=1; i<11; i++) { //iが11より小さい時11までまわす
int x = scan.nextInt();  //標準入力を準備する特別な箱
System.out.println(i+"″つ目の数字");  // forで何回目か解るように表示

if(mini mini=x;    //miniにxの値を代入する
}
if(x>max) {  //xの値よりmaxの値が大きい時

max=x;    //maxにxの値を代入する
}
}
System.out.println(max+"これは最大値です。"); // ifで条件処理後のmaxの値を表示
System.out.println(mini+"これは最小値です。");   // ifで条件処理後のminiの値を表示
}
}