如何交换 java 中的数字
How to swap digits in java
我整个夏天都在努力练习 java,但我被这个问题困住了。我需要在 java 中交换整数中的 2 个字母。例如,在我的主要方法中,我创建了一个名为 swapdigits 的方法,我的参数为 1432。程序应该交换 4 和 1 以及 3 和 2。输出应该是 4123,因为它按顺序交换了两个字母。假设我执行 swapdigits(1341234),输出应该是 3114324。我知道我必须使用 while 循环,但我在交换过程中卡住了。
这是我目前拥有的:
public static void main(String[] args) {
Swapdigits(2413);
}
public static void Swapdigits(int number){
while(number>0){
int y=number/1000;
int x=number%10;
int original=number-y;
System.out.println(original);
}
System.out.println();
}
}
public static int swapDigitPairs(int number) {
int result = 0;
int place = 1;
while (number > 9) {
result += place * 10 * (number % 10);
number /= 10;
result += place * (number % 10);
number /= 10;
place *= 100;
}
return result + place * number;
}
你也可以试试
char[] a = String.valueOf(number).toCharArray();
for (int i = 0; i < a.length - 1; i += 2) {
char tmp = a[i];
a[i] = a[i + 1];
a[i + 1] = tmp;
}
int number = Integer.parseInt(new String(a));
因为您只是交换数字的位置,所以实际上数字是多少并不重要。因此,将参数表示为字符串可能更容易(也更有意义)。这样你就不会处理奇怪的模运算符——如果你手动解决问题,你真的会做任何数学运算吗?无论是一堆字符的数字,你都会同样对待这个问题。
查看以下问题,了解有关交换字符串中字符的信息:
How to swap String characters in Java?
我整个夏天都在努力练习 java,但我被这个问题困住了。我需要在 java 中交换整数中的 2 个字母。例如,在我的主要方法中,我创建了一个名为 swapdigits 的方法,我的参数为 1432。程序应该交换 4 和 1 以及 3 和 2。输出应该是 4123,因为它按顺序交换了两个字母。假设我执行 swapdigits(1341234),输出应该是 3114324。我知道我必须使用 while 循环,但我在交换过程中卡住了。
这是我目前拥有的:
public static void main(String[] args) {
Swapdigits(2413);
}
public static void Swapdigits(int number){
while(number>0){
int y=number/1000;
int x=number%10;
int original=number-y;
System.out.println(original);
}
System.out.println();
}
}
public static int swapDigitPairs(int number) {
int result = 0;
int place = 1;
while (number > 9) {
result += place * 10 * (number % 10);
number /= 10;
result += place * (number % 10);
number /= 10;
place *= 100;
}
return result + place * number;
}
你也可以试试
char[] a = String.valueOf(number).toCharArray();
for (int i = 0; i < a.length - 1; i += 2) {
char tmp = a[i];
a[i] = a[i + 1];
a[i + 1] = tmp;
}
int number = Integer.parseInt(new String(a));
因为您只是交换数字的位置,所以实际上数字是多少并不重要。因此,将参数表示为字符串可能更容易(也更有意义)。这样你就不会处理奇怪的模运算符——如果你手动解决问题,你真的会做任何数学运算吗?无论是一堆字符的数字,你都会同样对待这个问题。
查看以下问题,了解有关交换字符串中字符的信息: How to swap String characters in Java?