[英]how can i make multiple loops?
我正面临着 java 数组循环的问题,这就是问题所在
使用下面的空间编写 main 方法,该方法将 5 个整数值读入名为 list 的数组中。 然后,使用数组输出正值后跟负值并忽略零。
Sample Output
Enter 5 numbers: 10 -3 0 -4 9
List:
10
9
-3
-4
这就是答案:
int [] list = new int[5];
// 1pt
Scanner read = new Scanner (System.in);
// 3pts
System.out.println("Enter 5 numbers:");
for (int i = 0; i < list.length; i++)
list[i] = read.nextInt();
// 3 pts
for (int i = 0; i < list.length; i++)
if (list[i] > 0)
System.out.println(list[i]);
// 3 pts
for(int i = 0; i < list.length; i++)
if (list[i] < 0)
System.out.println(list[i]);
但如果你找到我,我不知道如何让它们一起工作
使用 Java8 的最简单方法是这样
Integer [] list = new Integer[5];
Scanner read = new Scanner (System.in);
System.out.println("Enter 5 numbers:");
for(int i=0; i<list.length;i++)
list[i] = read.nextInt();
List<Integer> newList = Arrays.asList(list).stream().filter(x -> x !=0).collect(Collectors.toList());
Collections.sort(newList,(a,b) -> {
if(a>b)
return -1;
else if(b>a)
return 1;
else
return 0;
});
System.out.println(newList);
您可以在 Java 中使用 Stream filter() 来根据您的需要获取元素,这里我们将检查值是否不等于 0 (s-> s != 0)
,这里我们在 Java 8 中使用 lambdas。
int [] list = new int[5];
Scanner read = new Scanner (System.in);
System.out.println("Enter 5 numbers:");
for (int i = 0; i < list.length; i++) {
list[i] = read.nextInt();
if(i == 4)
list = (Arrays.stream(list).filter(s -> s != 0).toArray());
}
System.out.println(Arrays.toString(list));
您可以使用以下代码片段对数组进行排序,然后显示它并在其间放置一个条件,用于检查数组的元素是否为0
。
for(int i = 0 ; i <= 5 ; i++){
if(i < 5){
System.out.println("Enter 5 numbers:");
for (int i = 0; i < list.length; i++)
list[i] = read.nextInt();
continue;
}
for(int j = i ; i < 10 ; j++){
if(list[i] > list[j]){
int temp = list[i] ;
list[i] = list[j] ;
list[j] = temp ;
}
}
if(i == 5){
for(int j = 0; j < 5; j++){
if(list[i] != 0)
System.out.println(list[i]);
}
}
}
我想这就是你想要的。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.