Я поставил перед собой задачу, которую не могу выполнить. Нужна помощь. Я пытаюсь добиться того, чтобы вводимые пользователем номера менялись парами, а если есть числа, разделенные запятыми, следующий обмен должен выводиться из новой строки. Например, если я скажу: 10000234567,10000234568,10000234569, то вывод должен выглядеть следующим образом:
01002043657,
01002043658,
01002043659
Вот мой код:
import java.util.Scanner;
public class SwapNumbersTest {
public static String swapPairs(String str) {
char[] arr = str.toCharArray();
for (int i = 1; i < arr.length; i += 2) {
if(arr[i] == ','){
i+=2;
}
char swap = arr[i];
arr[i] = arr[i - 1];
arr[i - 1] = swap;
}
return new String(arr);
}
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("Enter a comma separated numbers: ");
String str = sc.nextLine();
System.out.println(swapPairs(str));
}
}
о чем я думал, что если в пути есть символ ',', то все числа перед этим должны быть записаны в массив символов и выведены из новой строки. Подскажите, пожалуйста, как этого добиться?
Также я заметил, что если входные числа не ровные, то замена работает отлично, если входные числа четные, запятая ',' запутывает все.