выводит все время ноль - в чем причина
import java.io.BufferedReader;
import java.io.InputStreamReader;
public class Solution
{
public static void main(String[] args) throws Exception
{
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
int a = Integer.parseInt(reader.readLine());
int b = Integer.parseInt(reader.readLine());
int c = Integer.parseInt(reader.readLine());
int d = Integer.parseInt(reader.readLine());
int e = Integer.parseInt(reader.readLine());
//int minimum = min(a, b);
int minf = minfive(a, b, c, d, e);
//System.out.println("Minimum = " + minimum);
System.out.println("Minimum of five number is = " + minf);
}
public static int minfive(int a, int b, int c, int d, int e)
{
int res = 0;
if (a > b && a > c && a > d && a > e)
{
res = a;
} else if (b > a && b > c && b > d && b > e)
{
res = b;
} else if (c > a && c > b && c > d && c > e)
{
res = c;
} else if (d > a && d > b && d >= c && d > e)
{
res = d;
}
return res;
}
}
В родных классах Java есть масса реализованных полезных функций. Вашу задачу можно решить например с помощью сортировки. Такой метод может принимать произвольное количество аргументов, его легко модифицировать для поиска не только наименьшего или наибольшего, но например второго по значению элемента.
public static int min(int ... params) {
Arrays.sort(params);
return params[0]; // будет возвращено наименьшее значение
}
В вашей реализации большое количество однотипного когда, что отнимает время на написание и модификацию, усложняет чтение и провоцирует ошибки (А вдруг наименьшим окажется "е"...). Использование встроенных методов является предпочтительным перед самодельными решениями.
public static int minfive(int a, int b, int c, int d, int e) {
return Collections.min(Arrays.asList(a, b, c, d, e));
}
package ua.org.oa.nikolajred;
import java.io.BufferedReader;
import java.io.InputStreamReader;
public class Solution {
public static void main(String[] args) throws Exception {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
int a = Integer.parseInt(reader.readLine());
int b = Integer.parseInt(reader.readLine());
int c = Integer.parseInt(reader.readLine());
int d = Integer.parseInt(reader.readLine());
int e = Integer.parseInt(reader.readLine());
//int minimum = min(a, b);
int minf = minfive(a, b, c, d, e);
//System.out.println("Minimum = " + minimum);
System.out.println("Minimum of five number is = " + minf);
}
public static int minfive(int a, int b, int c, int d, int e) {
int res = 0;
if (a <= b && a <= c && a <= d && a <= e) {
res = a;
} else if (b <= a && b <= c && b <= d && b <= e) {
res += b;
} else if (c <= a && c <= b && c <= d && c <= e) {
res += c;
} else if (d <= a && d <= b && d <= c && d <= e) {
res += d;
} else {
res = 0;
}
return res;
}
}
Предлагаю такое решение
Scanner in = new Scanner(System.in);
int[] array = new int[5];
for(int i = 0; i<5; i++)
array[i] = in.nextInt();
System.out.println( Arrays.stream( array ).min().getAsInt() );
Виртуальный выделенный сервер (VDS) становится отличным выбором
Как в Java преобразовать Date в Long, если Date до 1970 года?