名为peopleTypes的数组,最多可存储50个整数值。输入一系列1,2,3,4,并输出每个数字的输入数量 import java.util.Scanner; 公营阶层人士 { 公共静态最终扫描仪键盘=新扫描仪(System.in); 静态最终int最大值=50; 公共静态void main(字符串[]args) { 整数指数; 整数检查; 婴儿智力=0,儿童智力=0,青少年智力=0,成人智力=0; System.out.println(“请输入值:”); int[]peopleTypes=新int[Max]; 对于(index=0;index

名为peopleTypes的数组,最多可存储50个整数值。输入一系列1,2,3,4,并输出每个数字的输入数量 import java.util.Scanner; 公营阶层人士 { 公共静态最终扫描仪键盘=新扫描仪(System.in); 静态最终int最大值=50; 公共静态void main(字符串[]args) { 整数指数; 整数检查; 婴儿智力=0,儿童智力=0,青少年智力=0,成人智力=0; System.out.println(“请输入值:”); int[]peopleTypes=新int[Max]; 对于(index=0;index,java,Java,实际上您不需要存储输入,请(仔细)查看一个可能的解决方案: import java.util.Scanner; public class People { public static final Scanner keyboard = new Scanner(System.in); static final int Max= 50; public static void main(String[]args) { int index;

实际上您不需要存储输入,请(仔细)查看一个可能的解决方案:

import java.util.Scanner;

public class People
{
    public static final Scanner keyboard = new Scanner(System.in);
    static final int Max= 50;

    public static void main(String[]args)
    {
        int index;
            int check;
            int infants = 0, children = 0, teens = 0, adults = 0;
            System.out.println("Please enter value:");
            int [] peopleTypes = new int[Max];

            for(index=0; index<Max; index++)
                {
                    peopleTypes[index] = keyboard.nextInt();
                    if(peopleTypes[index] == 1)
                        infants = infants + 1;
                    if(peopleTypes[index] == 2)
                        children = children + 1;
                    if(peopleTypes[index] == 3)
                        teens = teens + 1;
                    if(peopleTypes[index] == 4)
                        adults = adults + 1;
                    else
                        index = index-1;
                    System.out.print("");
                }
import java.util.Scanner;
公营阶层人士{
静态最终扫描仪键盘=新扫描仪(System.in);
静态最终int最大值=50;
静态最终字符串[]标签={“婴儿”、“儿童”、“青少年”、“成人”};
公共静态void main(字符串[]args){
int[]计数=新的int[4];
对于(int i=0;ijava.util.InputMismatchException
而(电流>4 | |电流<1){//检查范围
System.out.println(“请输入有效值(介于1和4之间):”;
当前=键盘.nextInt();/…并重复
}
计数[current-1]++;//递增计数器,“current-1”,从基于0的数组和基于1的输入开始
}
System.out.println(“评估完成!”);
对于(inti=0;i<4;i++){//打印输出
System.out.println(标签[i]+“:”+计数[i]);
}
}
}

我可能误解了上下文,但我不认为有必要创建peopleTypesArray。我的理解是,您只需要从50人的列表中计算一个或多个青少年、成年人等,所以只需不断增加各个计数器,并在循环外显示它们。例如:

import java.util.Scanner;

public class People {
   static final Scanner keyboard = new Scanner(System.in);
   static final int MAX = 50;
   static final String[] LABLES = {"infants", "children", "teens", "adults"};

   public static void main(String[] args) {
       int[] counts = new int[4];
       for (int i = 0; i < MAX; i++) {
           System.out.println("Please enter value:");
           int current = keyboard.nextInt(); //problem input: "abc" -> java.util.InputMismatchException
           while (current > 4 || current < 1) {//checks range
               System.out.println("Please enter a valid value (between 1 and 4):");                    
               current = keyboard.nextInt();//...and repeat
           }
           counts[current - 1]++;//increment counter, "current - 1", since 0-based array and 1-based input
       }
       System.out.println("Evaluation finished!");
       for (int i = 0; i < 4; i++) {//print the output
           System.out.println(LABLES[i] + ": " + counts[i]);
       }
   }
}
for(int i=0;i<50;i++){
int peopleType=keyBoard.nextInt();
if(peopleType==0){
婴儿计数++;
}  
----等等
}  
System.ou.println(“婴儿=”+婴儿计数);
---等等

这其中的哪一部分给您带来了麻烦?您到底混淆了什么?从数组中计算1,2,3,4
for(int i = 0 ; i < 50; i++){
   int peopleType = keyBoard.nextInt();
   if(peopleType == 0){
      infantCount++; 
   }  
   ---- and so on
}  

System.ou.println(" infant =  " + infantCount);
 --- and so on