Informatică, întrebare adresată de rpetri755, 8 ani în urmă

Să se scrie un program care citeşte trei numere întregi şi afisează numerele în ordinea crescătoare a primei cifre.

Răspunsuri la întrebare

Răspuns de chetreanandrei
0

Răspuns:

import java.util.ArrayList;

import java.util.Comparator;

import java.util.List;

import java.util.Scanner;

public class Sort {

   private static final Scanner scanner = new Scanner(System.in);

   public static void main(String[] args) {

       List<Integer> numbers = new ArrayList<>();

       for (int i = 0;i < 3; i++) {

           System.out.print("Introduceti un numar: ");

           numbers.add(scanner.nextInt());

       }

       sortNumbers(numbers);

       System.out.println("Numerele sortate:");

       for (int val : numbers) {

           System.out.println(val);

       }

   }

   private static void sortNumbers(List<Integer> numbers) {

       numbers.sort(new Comparator<Integer>() {

           @Override

           public int compare(Integer o1, Integer o2) {

               return getFirstDigit(o1) - getFirstDigit(o2);

           }

       });

   }

   private static int getFirstDigit(int num) {

       while (num >= 9) {

           num /= 10;

       }

       return num;

   }

}

Explicație:

Alte întrebări interesante