初めに
今回はpaizaラーニングの以下のスキルチェック見本問題に挑戦します。 見本問題なのでコードの公開は自由です。一番小さい値 (paizaランク D 相当)
問題:
5 つの正の整数が入力されるので、最も小さい数字を出力して下さい。
入力例1
10
12
4
8
46
出力例1
4
解答コード
以下が、正解のコードですが、なかなかできませんでした。
public class Main{
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
//100までの数字なので、answerに最大値を設定しておく
int answer = 101;
//数字は5つ与えられるので、iは0-4までの変化をする
for(int i = 0; i < 5; i++){
//標準入力の値をnに代入する
int n = sc.nextInt();
//nがanswerより小さければansewerにnを入れる
//最終的にanswerに最小値が入る
if(n < answer){
answer = n;
}
}
System.out.println(answer);
}
}
自分なりに考えたけどできなかった記録
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String line = sc.nextLine();
System.out.println("XXXXXX");
}
}
まずは、全行読み込みする
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
// 行がある間は読み込み
while(sc.hasNextLine()){
String line = sc.nextLine();
System.out.println(line);
}
}
}
この時点での出力結果
10
12
4
8
46
配列に格納する
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
ArrayList<String> array = new ArrayList<String>();
// 行がある間は読み込み
while(sc.hasNextLine()){
String line = sc.nextLine();
array.add(line);
}
for(String i :array){
System.out.println(i);
}
}
}