所以我尝试获取一个 int 数组并反转每个超过三位数的元素。即改变 147 -> 741
我是 java 的新手,甚至不知道从哪里开始。
这是我尝试使用的数组。
int codedMessage[] = {334, 384, 105, 222, 61, 2, 175, 228, 114, 235, 241,
213, 206, 3, 321, 152, 214, 137, 224};
非常感谢任何帮助!每次我尝试寻求帮助时,我只是找到关于反转数组顺序的东西,因为我真的不知道如何正确地用谷歌搜索我的问题。
最佳答案
您可以遍历数组 codedMessage
并检查该值是否有 3 位或更多位(即大于 99)。如果是,则转换为 String
,将其反转,然后将其写回原位数组。
int codedMessage[] = {334, 384, 105, 222, 61, 2, 175, 228, 114, 235, 241,
213, 206, 3, 321, 152, 214, 137, 224};
for (int i=0; i < codedMessage.length; ++i) {
if (codedMessage[i] > 99) {
String value = String.valueOf(codedMessage[i]);
String valueReversed = new StringBuilder(value).reverse().toString();
codedMessage[i] = Integer.parseInt(valueReversed);
}
}
System.out.print("{");
for (int i=0; i < codedMessage.length; ++i) {
if (i > 0) { System.out.print(", "); }
System.out.print(codedMessage[i]);
}
System.out.print("}");
输出:
{433, 483, 501, 222, 61, 2, 571, 822, 411, 532, 142, 312, 602, 3, 123, 251, 412, 731, 422}
关于java - 反转 int 数组的所有三位数字元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32431446/