Java 如何在数组中保存用户输入?

Java 如何在数组中保存用户输入?,java,arrays,Java,Arrays,我正在尝试编写一个程序,要求用户输入要保存在医院数据库中的患者数量,即ArraySize。用户必须输入患者ID、名字和姓氏,然后根据患者病情的严重程度在数组中索引患者ID、名字和姓氏。我的问题是如何将用户的ID输入保存为整个ID数组的一部分,其限制由用户输入?如何索引患者的信息 以下是我目前的代码: System.out.print("\n > How many patients allowed for day 25-12-2016 : "); int ArraySize

我正在尝试编写一个程序,要求用户输入要保存在医院数据库中的患者数量,即
ArraySize
。用户必须输入患者ID、名字和姓氏,然后根据患者病情的严重程度在数组中索引患者ID、名字和姓氏。我的问题是如何将用户的ID输入保存为整个ID数组的一部分,其限制由用户输入?如何索引患者的信息

以下是我目前的代码:

System.out.print("\n > How many patients allowed for day 25-12-2016 : ");
        int ArraySize = input.nextInt();

 System.out.print("\n       > Enter patient ID: ");
                int ID[] = new int[ArraySize];

                for (int i = 0; i < ID.length; i++) {
                    ID[i] = input.nextInt();
                }


   System.out.print("\n         > Enter patient First Name: ");
            String first[] = new String[ArraySize];
            for (int i = 0; i < first.length; i++) {
                first[i] = reader.nextLine();
            }
            System.out.print("\n        > Enter patient last Name: ");
            String last[] = new String[ArraySize];
            for (int i = 0; i < last.length; i++) {
                last[i] = reader.nextLine();
            }

 System.out.print("\n _______________________________________________\n"
                + "|                                               |\n"
                + "|                  Case Type                    |\n"
                + "|_______________________________________________|\n"
                + " \n"
                + " _______________________________________________\n"
                + "|                        |\n"
                + "| 1: Enter 1 for Accident Injury                | \n"
                + "| 2: Enter 2 for Fire Injury                    | \n"
                + "| 3: Enter 3 for Electricity Sho                | \n"
                + "| 4: Enter 4 for Heart Attack                   | \n"
                + "| 5: Enter 5 for Unconscious                    | \n"
                + "| 6: Enter 6 for Otherwise                      | \n"
                + "|_______________________________________________|\n"
                + " > Please enter your choice: \n"
                + " ");
int choice = input.nextInt();

if (int==1)

{
// index patient at 0 

}
System.out.print(“\n>2016年12月25日允许多少患者:”);
int ArraySize=input.nextInt();
系统输出打印(“\n>输入患者ID:”);
int ID[]=新的int[ArraySize];
for(int i=0;i输入患者姓名:”);
第一个字符串[]=新字符串[ArraySize];
for(int i=0;i输入患者姓氏:”);
字符串last[]=新字符串[ArraySize];
for(int i=0;i请输入您的选择:\n”
+ " ");
int choice=input.nextInt();
如果(int==1)
{
//将患者索引为0
}

给你一些关于你文章评论的代码。 存储患者信息所需的类可以如下所示:

public class Patient
{
  private int id;
  private String name;
  private String lastname;

  public Patient (int id, String name, String lastname)
  {
    // assign values to variables here
  }

  // generate getters and setters
}
然后在您的程序中,您可以使用如下列表:

List<Patient> patients = new ArrayList<Patient>();
Patient p = new Patient (1, "Name", "Lastname");
patients.add(p);
患者类别保持不变。
输入后,您只需按患者严重程度进行排序,这也可以添加到患者类别中。

如果您不能使用对象,那么您可以使用一个对象来完成所有操作

   for (int i = 0; i < ID.length; i++) {
         System.out.print("\n       > Enter patient ID: ");
         ID[i] = input.nextInt();

        System.out.print("\n         > Enter patient First Name: ");
        first[i] = reader.nextLine();

        System.out.print("\n        > Enter patient last Name: ");
        last[i] = reader.nextLine();
                    }
for(int i=0;i输入患者ID:”);
ID[i]=input.nextInt();
System.out.print(“\n>输入患者姓名:”);
first[i]=reader.nextLine();
System.out.print(“\n>输入患者姓氏:”);
last[i]=reader.nextLine();
}

现在,当有人按ID搜索时,您只需要搜索保存位置的索引,它与名称和姓氏相同。希望它能帮助您使用以下多维数组

int[][] severity = new int[ArraySize][2]; // this array stors ID,severity_code respectively
for (int i = 0; i < first.length; i++) {
 System.out.print("\n _______________________________________________\n"
                + "|                                               |\n"
                + "|                  Case Type                    |\n"
                + "|_______________________________________________|\n"
                + " \n"
                + " _______________________________________________\n"
                + "|                        |\n"
                + "| 1: Enter 1 for Accident Injury                | \n"
                + "| 2: Enter 2 for Fire Injury                    | \n"
                + "| 3: Enter 3 for Electricity Sho                | \n"
                + "| 4: Enter 4 for Heart Attack                   | \n"
                + "| 5: Enter 5 for Unconscious                    | \n"
                + "| 6: Enter 6 for Otherwise                      | \n"
                + "|_______________________________________________|\n"
                + " > Please enter your choice: \n"
                + " ");
severity[i][0] = ID[i]; // storing ID
severity[i][1] = input.nextInt(); // storing severity_code
}

// now you have associated the user's ID with his severity_code
// Then sort severity[][] according to the severity_code which is in the severity[i][1] where 0<=i<=ID.length
int[]severity=new int[ArraySize][2];//此阵列分别存储ID、严重性\u代码
for(int i=0;i请输入您的选择:\n”
+ " ");
严重性[i][0]=ID[i];//存储ID
严重性[i][1]=input.nextInt();//存储严重性代码
}
//现在,您已将用户ID与其严重性代码相关联

//然后根据严重程度[i][1]中的严重程度代码对严重程度[]进行排序,其中0为什么不使用具有名称lastname和ID的对象Patinet?我不建议使用患者ID作为数组的索引。而是将ID用作识别患者的数字。只有当不止一个患者病情严重时,你才会遇到问题。想想面向对象的方法,就像@Gatusko说的:让它成为一个包含所有用户提供数据的对象,ID可以是程序生成的序列号(通常te序列号由数据库生成)。@Gatusko我怎么做?哦,不要使用数组,而是列表,它可以扩展到任何大小,而无需
索引AutoFarrayBoundaryException
。如果用户必须输入ID、名字和姓氏,然后显示病例严重性选项,这是否有效?您需要测试它,看看它是否有效,因为如果您放置5名患者。然后它会显示5次这个。输入Id(您的输入),输入name(您的输入),输入LastName(您的输入)。然后它会显示你的选择!只有在没有验证的情况下正确插入了所有输入。我不知道您是否可以使用
尝试捕捉

int[][] severity = new int[ArraySize][2]; // this array stors ID,severity_code respectively
for (int i = 0; i < first.length; i++) {
 System.out.print("\n _______________________________________________\n"
                + "|                                               |\n"
                + "|                  Case Type                    |\n"
                + "|_______________________________________________|\n"
                + " \n"
                + " _______________________________________________\n"
                + "|                        |\n"
                + "| 1: Enter 1 for Accident Injury                | \n"
                + "| 2: Enter 2 for Fire Injury                    | \n"
                + "| 3: Enter 3 for Electricity Sho                | \n"
                + "| 4: Enter 4 for Heart Attack                   | \n"
                + "| 5: Enter 5 for Unconscious                    | \n"
                + "| 6: Enter 6 for Otherwise                      | \n"
                + "|_______________________________________________|\n"
                + " > Please enter your choice: \n"
                + " ");
severity[i][0] = ID[i]; // storing ID
severity[i][1] = input.nextInt(); // storing severity_code
}

// now you have associated the user's ID with his severity_code
// Then sort severity[][] according to the severity_code which is in the severity[i][1] where 0<=i<=ID.length