Всем привет, учусь Java на специальном сервисе где надо выполнять задания, и тут было задание ввести с клавиатуры три числа, и чтобы они вывелись на консоли в порядке убывания. Я в принципе всё понял и сделал всё сам, но каюсь кусок кода где нужно было найти среднее число, я сп... взял у другого человека, и сейчас хочу разобраться как этот кусок работает. Обьясните кто может. Вот весь код importjava.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)); String sa = reader.readLine(); String sb = reader.readLine(); String sc = reader.readLine(); int a = Integer.parseInt(sa); int b = Integer.parseInt(sb); int c = Integer.parseInt(sc); System.out.println(max(a, b, c)); System.out.println(mid(a, b, c)); System.out.println(min(a, b, c)); } static int max(int x, int y, int z) { if ((x >= y) && (x >= y)) return x; else if (y >= z) return y; else return z; } static int min(int r, int t, int u) { if ((r <= t) && (r <= u)) return r; else if (u <= r) return u; else return t; } static int mid(int x2, int y2, int z2) { if (((max(x2, y2, z2) == x2) && (min(x2, y2, z2) == y2)) || ((max(x2, y2, z2) == y2) && (min(x2, y2, z2) == x2))) return z2; else if (((max(x2, y2, z2) == x2) && (min(x2, y2, z2) == z2)) || ((max(x2, y2, z2) == z2) && (min(x2, y2, z2) == x2))) return y2; else return z2; } } Вот этот кусок не понимаю static int mid(int x2, int y2, int z2) { if (((max(x2, y2, z2) == x2) && (min(x2, y2, z2) == y2)) || ((max(x2, y2, z2) == y2) && (min(x2, y2, z2) == x2))) return z2; else if (((max(x2, y2, z2) == x2) && (min(x2, y2, z2) == z2)) || ((max(x2, y2, z2) == z2) && (min(x2, y2, z2) == x2))) return y2; else return z2;
package test3; Разбираться в этом быдлокоде и не надо. Еслиб я был учителем то поставил-бы двойку. Всё твоё задание в нескольких строчках: Code: import java.util.Arrays; import java.util.Random; public class Main { public static void main(String[] args) { Random rand = new Random(); int[] numbers = new int[] { rand.nextInt(100), rand.nextInt(100), rand.nextInt(100) }; Arrays.sort(numbers); System.out.println("Array contents: " + Arrays.toString(numbers)); System.out.println("Minimal: " + numbers[0]); System.out.println("Middle: " + numbers[1]); System.out.println("Maximum: " + numbers[2]); } } Циферки с клавиатуры вводить не лень? А вдруг пользователь введёт не циферки? Пускай их придумывает комп. И да, выучи бб-код [cоde]