题目要求:
- 从键盘录入N个数;
- 求出这N个数中,奇数个数,偶数个数,以及奇数之和,偶数之和;
public class ljljlj { public static void main(String[] args) { System.out.println("---------N个数中奇数之和、偶数之和,以及奇、偶数的个数-------"); Scanner sc=new Scanner(System.in); System.out.println("你想输入多少个数?"); int N=sc.nextInt(); int [] arr=new int[N]; int num1=0; int num2=0; int sum1=0;//偶数之和 int sum2=0;//奇数之和 System.out.println("请分别输入你想输入的几个数"); for(int i=0;i<N;i++) { arr[i]=sc.nextInt(); if(arr[i]%2==0) { num1++; sum1=sum1+arr[i]; } else { num2++; sum2=sum2+arr[i]; } } System.out.println("偶数之和为:"+sum1+",偶数的个数为"+num1); System.out.println("奇数之和为:"+sum2+",奇数的个数为"+num2); } }
这种方法比较常用,相对来说,易于理解。
在调试过程中,我还遇到一些问题:由于我将int num1=0; int num2=0; int sum1=0;//偶数之和 int sum2=0;//奇数之和这些定义输在for循环之内,所以出现了以下报错。
Duplicate local variable num1(重复的局部变量num1)
Duplicate local variable num2
Duplicate local variable sum1
Duplicate local variable sum2
如果以后遇到相同的问题,将int num1=0; int num2=0; int sum1=0;int sum2=0;写在for循环之上即可。