【发布时间】:2020-05-01 03:53:30
【问题描述】:
我为自己设定了一项我无法完成的任务。需要帮忙。
我想要实现的是用户的输入数字应该成对交换,如果有逗号分隔的数字,下一个交换应该从新行输出。
就像我说: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));
}
}
我在想,如果有一个字符',',那么之前的所有数字都应该写入一个字符数组并从新行打印出来。你能告诉我,如何实现这样的事情吗?
我还注意到,如果输入的数字不是偶数,那么交换就可以完美地工作,如果输入的数字是偶数,',' 逗号就会乱七八糟。
【问题讨论】: