こんにちは、一番の原因はmin = 0と初期化しているところです。
入力した数値がすべて0より大きいのでmin = 0になっているのです。
最小値minを入力した値の最初の数値などにしておくと正常に動くと思います。
ほかに気になったこと
(i)Scannerを5回も生成する必要はありません。一つで十分です。
.Scanner sc = new Scanner(System.in);
(ii)変数をa,b,c,d,eにすると5回もsc.nextInt
も書いていますが
最初から入力する変数を格納する配列を準備するとfor文
で済みます。
Java
1import java.util.Scanner;
2
3public class Main {
4 public static void main(String[] args) throws Exception {
5
6 Scanner sc = new Scanner(System.in);
7 int []data = new int[5];
8 for(int i = 0; i < data.length; i++){
9 data[i] = sc.nextInt();
10 }
11 int min = data[0];
12
13 for(int i = 0; i < data.length; i++){
14 if(min > data[i]){
15 min = data[i];
16 }
17 }
18 System.out.println(min);
19
20 }
21}
別解を言うと
.配列
やArrayList
を使うと格納された数値をソートすることで最小値を得る方法もあります。
詳しくは配列やListをソートをご覧ください。
(i)配列
を使う場合
Java
1import java.util.*;
2
3public class Main {
4 public static void main(String[] args) throws Exception {
5
6 Scanner sc = new Scanner(System.in);
7 ArrayList <Integer> array = new ArrayList<>();
8
9 int []data = new int[5];
10
11 for(int i = 0; i < 5; i++){
12 data[i] = sc.nextInt();
13 }
14 Arrays.sort(data);
15
16 int min = data[0];
17 System.out.println(min);
18
19 }
20}
21
(ii)ArrayList
を使う場合
Java
1import java.util.*;
2
3public class Main {
4 public static void main(String[] args) throws Exception {
5
6 Scanner sc = new Scanner(System.in);
7 ArrayList <Integer> array = new ArrayList<>();
8
9 for(int i = 0; i < 5; i++){
10 int n = sc.nextInt();
11 array.add(n);
12 }
13 Collections.sort(array);
14
15 int min = array.get(0);
16 System.out.println(min);
17
18 }
19}