Strange Order

import java.util.*;

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

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

        List<Integer> result = new ArrayList<Integer>();
        List<Integer> result2 = new ArrayList<Integer>();



        for (int i = 0; i < nums.length; i++) {

            if (Integer.parseInt(nums[i]) > 0) {
                result.add(Integer.parseInt(nums[i]));
            } else {
                result2.add(Integer.parseInt(nums[i]));
            }
        }

        Collections.sort(result2);



        System.out.print(Arrays.toString(new List[]{result2}).replace("[","").replace("[","").replace("]]","").replace(" ",""));
        System.out.print(",");
        System.out.print(Arrays.toString(new List[]{result}).replace("[","").replace("[","").replace("]]","").replace(" ",""));


    }
}


помощ моля за идеи :slight_smile:

Здрасти, ами пиши какъв ти е проблема :slight_smile:

Здравей :slight_smile:
Няма как да ти сработи решението, като си обединил две от условията в едно…

Успех :slight_smile:
Диди

Здравейте,

защо използваме Arrays.toString?

Този метод взима всички елементи на масива и ги обединява във един стринг, след което го принтира. :slight_smile:

Това с Collections.sort на колегата или е грешно или не го разбирам, но имам следния въпрос: Да кажем, че сме подредили логиката правилно и стигаме до принтирането. В случая доколкото разбирам с Arrays.toString обръщаме ArrayList-a в низ, за да можем да отстраним скобите. Има ли друга причина да го правим? Има ли начин, с който да принитираме ArrayList без да се виждат скоби и да име спейс между елементите? То ест да не е необходимо да минаваме през низ и да чистим след това ненужните символи?

Разбира се. Всичко може да се прави по няколко начина (и поне няколко от тях ще са правилни :smiley: ). Подхода, който е изполназвал Димитър работи, макар и да не много елегантен. Един от другите варианти е StringBuilder. Препоръчвам Ви да го разгледате, тъй като е много по-лесен за използване при операции със стрингове и също така много по-щадящ откъм памет.

Може да прочетете повече тук.

Успех :slight_smile: