任务描述
本关任务:使用 foreach 语句统计数组中正负数的个数。
相关知识
为了完成本关任务,你需要掌握:foreach 语句的使用。
foreach 语句
foreach 也叫增强 for 循环,是 for 循环的一个特殊简化版,foreach 适用于循环次数未知,或者计算循环次数比较麻烦的情况。
foreach 语句格式:
for(元素类型type 元素变量value : 遍历对象obj) {
循环体语句序列;
}
示例:使用 foreach 语句打印数组元素。
public static void main(String[] args) {
int [] arr={2,3,4,8};
for (int i:arr){
System.out.print(i+" ");
}
}
执行结果:
2 3 4 8
下面我们来对比一下 for 语句,使用 for 语句实现同样的需求。
public static void main(String[] args) {
int [] arr={2,3,4,8};
for (int i=0;i<arr.length;i++){
System.out.print(arr[i]+" ");
}
}
执行结果:
2 3 4 8
编程要求
仔细阅读右侧编辑区内给出的代码框架及注释,在 Begin-End 间编写程序代码,使用 foreach 语句统计数组中正负数的个数,具体要求如下:
- 接收给定的一行整数(如:4 7 9 -89 76。其中第一个数为数组长度,其余数为数组元素,中间用空格分隔);
- 把给定数据添加到数组中,并使用 foreach 语句统计数组中正负数的个数;
- 输出结果,具体样式见测试说明。
测试说明
平台将使用测试集运行你编写的程序代码,若全部的运行结果正确,则通关。
例: 测试输入:
7 -6 4 34 23 231 21 -9
预期输出:
正数个数:5。负数个数:2。
import java.util.Scanner; public class ForeachTest { public static void main(String[] args) { // 请在Begin-End间编写代码 /********** Begin **********/ // 接收给定一行整数 Scanner input=new Scanner(System.in); int n = input.nextInt(); // 创建数组 int[] a= new int[n]; // 把给定整数添加到数组中 for(int i=0;i<a.length;i++){ a[i] =input.nextInt(); } // 获取数组中的每个数,统计正负数个数 int fu=0,zheng=0; for(int i=0;i<a.length;i++){ if(a[i]<0){ fu++; } else zheng++; } // 输出结果 System.out.println("正数个数:"+zheng+"。负数个数:"+fu+"。"); /********** End **********/ } }