Здравейте,
искам да попитам за някакво по-лесно обединение на 2 масива от това което видях аз.
List array2 = Stream.of(notZero, zero).flatMap(x -> x.stream()).collect(Collectors.toList());
Задачата беше призната за вярна, но имаше и този error в сайта. Error: Note: /tmp/tmpXcl3pj/ArraySort.java uses unchecked or unsafe operations. Note: Recompile with -Xlint:unchecked for details.
Здравей, ето този код показва обединение на 2 масива, надявам се да помогне:
import java.util.Scanner;
public class CombineLists {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String[] list1 = scanner.nextLine().split(",");
String[] list2 = scanner.nextLine().split(",");
String[] result = new String[list1.length + list2.length];
int position = 0;
for (int i = 0; i < result.length; i += 2) {
result[i] = list1[position];
result[i + 1] = list2[position];
position++;
}
System.out.println(String.join(",", result));
}
}
Здравей, не се получава или по-скоро аз не знам как да го напиша. Трябва ми масива с числа различни от 0 в началото на трети масив (result) и масива с числа равни на 0 в края. А и пробвах с масиви, но не се получава. После писах с ArrayList и тогава се получиха 2 масива. Въпроса е как да го обединя двата масива един след друг (първо числата различни от 0, после нулите)? Това което предложихте е за масиви, а не за ArrayList.
Здравей,
пробвах със String.Join() , но последния ми масив е ArrayList lis3, а този метод работи само със String масив, а не с ArrayList. Още тук дава грешка : “String print = String.join(”,",lis3);"
public class ArraySort2 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String num = sc.nextLine();
String[] numbers = num.split(",");
int[] numbers2 = new int[numbers.length];
ArrayList<Integer> zero = new ArrayList<>();
ArrayList<Integer> nonzero = new ArrayList<>();
for (int i= 0; i < numbers.length; i++) {
numbers2[i] = Integer.parseInt(numbers[i]);
}
for (int x: numbers2) {
if (x==0) {
zero.add(x);
} else{
nonzero.add(x);
}
}
nonzero.addAll(zero);
String array[] = new String[nonzero.size()];
for(int i = 0 ; i < nonzero.size(); i++) {
array[i] = String.valueOf(nonzero.get(i));
if (i > 0) {
System.out.print(",");
}
System.out.print(array[i]);
}
}
Благодаря и на двама Ви!
Явно този проблем в сайта е от мен. Сложих кода на @miroslav.ivnv и пак даде грешка в сайта: Status: Accepted Error: Note: /tmp/tmp1HEO4F/ArraySort.java uses unchecked or unsafe operations. Note: Recompile with -Xlint:unchecked for details.
Копирах кода и на @medon3 и там нямаше проблеми. Изглежда моя код в началото има някакви грешки, и като се зачетах в грешката използвам непроверени или опасни операции, което така и не разбрах за кое става въпрос. Все пак ви благодаря за обърнатото внимание.
Здравей, и аз по подобен начин го принтирах. Разликата беше, че аз правих още един масив.
list3.addAll(notZero);
list3.addAll(zero);
System.out.println(lis3.toString().replace("[", “”).replaceAll(" “, “”).replace(”]", “”));
Благодаря и за линка. Не знаех много за ArrayList.