Как найти максимальное четное число?

Задача: `На вход подаётся три целых числа. Выведите максимальное чётное из них. Если чётных чисел нет, выведите "Чётных чисел нет".

Проверки:

    Input:

17 15 13  13 15 17
Четных чисел нет

8 -9 -10 -10 9 8
8

8 3 12 12 3 8
12

-10 -12 -14   -14 -12 -10
-10

4 7 9  9 7 4
4

-8 10 4 4 10 -8
10

0 0 1222 1222 0 0
1222

-12 0 2 2 0 -12
2

-12417248 -2357385 -1244
-1244

-0 -0 2 2 -0 -0
2

-0 -0 -0
0

Мой код что сделано, в данный момент ничего не выводит, так же проблема с отрицательными числами:

import java.util.*;
import java.lang.Math.*;

public class Main
{
    
  public static int a_mx, max, result;
    
    public static int maxx(int a, int b, int c){
       a_mx = a > b ? a : b;
       max = a_mx > c ? a_mx : c;
       return max;
    }
        
    public static int max_two(int a, int b){
       a_mx = a > b ? a : b;
       return a_mx;
    }
    
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        
             
            int a = sc.nextInt();
            int b = sc.nextInt();
            int c =  sc.nextInt();

            a = a < 0 ? -a: a;
            b = b < 0 ? -b: b;
            c = c< 0 ? -c: c;
            
              // н н н 
            if((a % 2 != 0) && (b % 2 != 0) && (c % 2 != 0)){
                System.out.print("Чётных чисел нет");
                //ч ч ч 
            }else if((a % 2 == 0) && (b % 2 == 0) && (c % 2 == 0)){
                //int result = Math.max(a, Math.max(b,c));
                int result = maxx(a, b, c);
                System.out.print(result);
                // н ч ч
            }else if((a % 2 != 0) && (b % 2 == 0) && (c % 2 == 0)){
                a = 0;
                //int result = Math.max(a, Math.max(b,c));
                int result = maxx(a, b, c);
                System.out.print(result);
                // ч н ч
            }else if((a % 2 == 0) && (b % 2 != 0) && (c % 2 == 0)){
                b = 0;
                //int result = Math.max(a, Math.max(b,c));
                int result = maxx(a, b, c);
                System.out.print(result);
                // ч ч н
            }else if( (a % 2 == 0) && (b % 2 == 0)&&(c % 2 != 0) ){
                c = 0;
               // int result = Math.max(a, Math.max(b,c));
                int result = maxx(a, b, c);
                System.out.print(result);
                // н ч н 
            }else if( (a % 2 != 0) && (b % 2 == 0)&&(c % 2 != 0) ){
                a = 0;
                c = 0;
               // int result = Math.max(a, Math.max(b,c));
                int result = maxx(a, b, c);
                System.out.print(result);
            }
            
            
        //}
    }
}

Ответы (1 шт):

Автор решения: NMD

Как вариант

int a = sc.nextInt(); 
int b = sc.nextInt();
int c = sc.nextInt();

// если а четное, то записываем его значение, иначе -1
a = a % 2 == 0 ? a : -1;
b = b % 2 == 0 ? b : -1;
c = c % 2 == 0 ? c : -1;

if ((a < 0) && (b < 0) && (c < 0)) 
   System.out.print("Чётных чисел нет");
else
   System.out.print(Math.max(a, Math.max(b,c)));
→ Ссылка