数组错误给定条件下有多少奇偶数

nnt7mjpx  于 2021-07-12  发布在  Java
关注(0)|答案(2)|浏览(228)

我想这样输出

我的编译器不会在我使用netbeans和apache的代码中提示错误
当我把多少数字

public class NewClass 
        {
          public static void main(String[] args)
          {
            int n = 0;
            int EvenNo;
            int OddNo;
            Scanner sc = new Scanner(System. in);

            System.out.println("How many numbers will be entered?");
            n = sc.nextInt();
            int a[]=new int[n];

            //I think Im missing some code here

            System.out.println("Enter " + n + " Elements Separated by Space >> " );
            String input;
            input = sc. nextLine();
            String[] tokens = input.split(" ");
            int[] inputNumbers = new int[tokens.length];

            EvenNo = OddNo = 0;

            for(int i = 0; i < tokens.length; i++)
            {
               inputNumbers[i] = Integer.parseInt(tokens[i]);

               if(inputNumbers[i] % 2 == 0 && inputNumbers[i] != 0)
               EvenNo++;

               else if(inputNumbers[i] % 2 != 0)
               OddNo++;
            }
               System.out.print("\n");
               System.out.println("The number of Even Numbers >> " + EvenNo);
               System.out.print("The number of Odd Numbers >> " + OddNo);
          }
        }
ix0qys7i

ix0qys7i1#

您应该使用将扫描仪输入的字符串格式转换为整数 Integer.parseInt() ```
....
System.out.println("How many numbers will be entered?");
n = Integer.parseInt(sc.nextLine());

...

tv6aics1

tv6aics12#

问题来了。你有这个。。。

System.out.println("How many numbers will be entered?");
n = sc.nextInt();

…后面是这个。。。

input = sc. nextLine();

长话短说, nextLine() 和对方打得不好 next***() 扫描器的方法。你可以在这里阅读更多信息-https://stackoverflow.com/a/13102066/10118965
解决问题最简单的方法就是这样做

System.out.println("How many numbers will be entered?");
n = sc.nextInt();
sc.nextLine();

这可能是解决这个问题最不痛苦的方法了。但是在将来,如果你只使用 nextLine() . 这些方便的方法很好,但正如你所见,如果你不知道它们的细微差别,它们会给你带来麻烦。

相关问题