【发布时间】:2019-03-19 08:06:34
【问题描述】:
下面写的代码是正确的,但我想缩短这段代码。
用java编写一个程序,在一维数组中输入10个数字,并将它们排列成所有偶数后面都是奇数。
int a[] = new int[6];
int b[] = new int[6];
int i, j;
int k = 0;
System.out.println("enter array");
for (i = 0; i < 6; i++) {
a[i] = sc.nextInt();
}
for (j = 0; j < 6; j++) {
if (a[j] % 2 == 0) {
b[k] = a[j];
k++;
}
}
for (j = 0; j < 6; j++) {
if (a[j] % 2 != 0) {
b[k] = a[j];
k++;
}
}
System.out.println("out-put");
for (i = 0; i < 6; i++) {
System.out.println(b[i]);
}
我可以将偶数和奇数排列在一个 for 循环中而不是两个 for 循环中吗?我正在使用两个 for 循环将偶数和奇数传输到 b[] 数组中。请缩短代码。一个 for 循环遍历用于检查偶数,第二个用于检查奇数。
【问题讨论】:
-
您是否尝试过使用来自 java 8 的流?您可以按规则对项目进行分组,在这种情况下,如果数字可以被 2 整除
-
@ClaudiuGuja GujaI 我对 Java 流一无所知。
-
是没有。已知的偶数和奇数。
-
看看下面我的回答。 @ManjeetSingh 最好的方法是使用 Comparator。
-
我在下面留下了一个使用流的代码示例。您会注意到数字列表的实际处理要简单得多。我确信还有一种方法可以在 MAP
> 中收集列表,布尔值表示数字是奇数还是偶数
标签: java