Sort Numbers- Arrays

Здравейте.
Някой би ли ми помогнал.
Определено гърми при двуцифрени числа, но не знам как да га го оправя.

import java.util.Arrays;
import java.util.Collections;
import java.util.Scanner;

public class SortNumbers {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);

        String[] array = scanner.nextLine().split(", ");


        String[] newArray = new String[array.length];
        for (int i = 0; i < array.length; i++) {
            newArray[i] = array[i];
        }
        Arrays.sort(newArray, Collections.reverseOrder());
        System.out.println(String.join(", ", newArray));
    }
}

А какво става когато подадеш двуцифрено число?

Взема само първата цифра от числото и я подрежда нея, където и е мястото

Здравей,

Не виждам проблем с двуцифрени числа, но пропускаш да обръщаш стринговете в числа.
Така ти сортира записите, разглеждайки ги като стрингове, а не числа.
Предполагам, че си имал предвид този newArray да съдържа числата - оправи това и ще си работи :slight_smile:

Знам, че е нещо много просто…, но явно ми убягва, (същата глупост правя и при следващата задача)

Ами в тази част не правиш нищо - все едно копираш първия array елемент по елемент. Този newArray трябва да е int [ ] и съответно в цикъла да parse-неш елементите от стринг към int като ги запазваш в newArray-a :wink:

Успех!

Така… :smile: сагата ми продължи… направих това, което ми каза. Този път компилатора ми даваше грешка при сортирането (при извикване на функцията Array.sort( newArray,… за newArray искаше нещо…)
Реших да сортирам масива в нов като го обърна към числа и ги сортирам по възходящ ред. След това прочетох масива на обратно:

import java.util.Arrays;
import java.util.Collections;
import java.util.Scanner;

public class SortNumbers {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);

    String line = scanner.nextLine();
    String[] array = line.split(", ");


    int[] newArray = new int [array.length];
    for (int i = 0; i < array.length; i++) {
        newArray[i] =Integer.parseInt(array[i]);
    }

    Arrays.sort(newArray);

    for (int i = newArray.length-1; i>=0 ; i--) {
        if (i==0) {
            System.out.print(""+newArray[i]);
            break;
        }
        System.out.print(newArray[i]+", ");
    }
}

}

Да, точно това имах предвид. И после си сортираш новия array :slight_smile: Вече би трябвало да работи на 100% ?
п.с. няма нужда от празния стринг “” тук: