新手刷题一道简单题一直无法通过 = =

题目描述:
第一行输入一个数,为n,第二行输入n个数,这n个数中,如果偶数比奇数多,输出NO,否则输出YES。
输入:
输入有多组数据。
每组输入n,然后输入n个整数(1<=n<=1000)。
输出:
如果偶数比奇数多,输出NO,否则输出YES。
样例输入:
5
1 5 2 4 3
样例输出:
YES

import java.util.Scanner;

public class solution {
public static void main(String[] args)
{
Scanner s = new Scanner(System.in);
while(s.hasNext()){
int countodd=0;
int counteven=0;
int n=s.nextInt();
s.nextLine();
System.out.println(n);

for( int i = 0; i < n;i ++ )
{
int m=s.nextInt();
System.out.println(m);
if(m%2!=0)
countodd++;
else
counteven++;
}
if(countodd<counteven)
System.out.println("NO\n");
else
System.out.println("YES\n");

}

}

}

http://ac.jobdu.com/problem.php?pid=1169

public static void main(String[] args) {
Scanner s = new Scanner(System.in);
int countodd = 0; // 奇数个数
int counteven = 0;// 偶数个数
System.out.println("请输入n:");
int n = s.nextInt();//
System.out.println(n);
while (n > 0) {
n--;
int m = s.nextInt();
System.out.print(m + ",");
if (m % 2 != 0)
countodd++;
else
counteven++;
}
if (countodd < counteven)
System.out.println("NO\n");
else
System.out.println("YES\n");

}

你的每次while都会将个数重新赋值为0

我是用c语言帮你解决的,希望能帮到你图片说明