创建一个程序来归档刑事案件然后查看它们,允许添加新案件

Creating a program to file criminal cases and then view them, with new case being allowed to add

我正在创建一个程序,用于输入包含姓名、犯罪、犯罪日期等内容的刑事案件...我想创建一个程序,在从用户那里获取输入(即详细信息)后犯罪)它被存储起来,当用户选择查看案例时,新提交的案例也会添加到其中。这将是循环的,即,如果用户想再次输入案例,he/she 可能会这样做,并且新的案例将被添加到已经存在的案例中,包括之前提交的案例。

我需要一个主意!我需要一个关于如何做到这一点的想法!我该用什么?数组会有帮助吗?

下面的代码片段是一个非常基本的例子,说明了如何设计这样的东西 - 它应该让您基本了解如何扩展它,添加更多案例的详细信息,或者可能添加一些其他方法,例如仅查看带有特定名称的特定案例或删除已添加的案例。

向用户输入添加验证或将日期存储在更适合它的对象中,例如 java.time 可能是第一步。

java.util.ArrayList 可能是收纳箱子的最佳选择。

import java.util.ArrayList;
import java.util.Scanner;

public class CriminalCase {

    //properties & getters
    private String name;
    public String getName(){return name;}
    private String date;
    public String getDate(){return date;}

    //constructor
    public CriminalCase(String name, String date){
        this.name = name;
        this.date = date;
    }



    public static void main(String[] args) {

        //this ArrayList will be used to store the cases
        ArrayList<CriminalCase> cases = new ArrayList<>();
        boolean quit = false;    

        Scanner s = new Scanner(System.in);

        while (!quit) {

            System.out.println("To view current cases enter v\nto add a case enter a\nto quit enter q");
            String input = s.nextLine();

            switch(input){
                case ("v"): {
                    System.out.println("The following cases exist:");
                    for (CriminalCase c : cases)
                         System.out.println("Name: " + c.getName() + " Date: " + c.getDate());
                    break;
                }
                case("a"):{
                    System.out.println("Enter a name:");
                    String name = s.nextLine();
                    System.out.println("Enter a date (e.g. 17.09.2015)");
                    String date = s.nextLine();

                    cases.add(new CriminalCase(name,date));
                    break;
                }
                case("q"):{
                    quit = true;
                    break;
                }
                /*
                case("d"):{
                    //method to delete a case
                }

                 */
            }
        }
    }
}

已解决。

import java.util.ArrayList;
import java.util.Scanner;

public class CriminalCase {




    private String batput;
    public String getBatput(){return batput;}


    public CriminalCase(String batput){
        this.batput = batput;

    }

private static class robin
{
   String Batman()
{
Scanner s=new Scanner (System.in);
System.out.println("Enter name.");
String a=s.nextLine();
System.out.println("Enter Date of birth.");
String b=s.nextLine();
System.out.println("Enter Sex.");
String c=s.nextLine();
System.out.println("Enter Crime Committed.");
String d=s.nextLine();
System.out.println("Enter Date of Crime Committed.");
String e=s.nextLine();
System.out.println("Enter Victim.");
String f=s.nextLine();
System.out.println();
String g=""+"\n"+""+"Name:- "+a +"\nDOB:- "+b +"\nSex:- "+c +"\nCrime Committed:- "+d +"\nDate of Crime Committed:- "+e +"\nVictim:- "+f; 
return g;
}
}



    public static void main(String[] args) {


        ArrayList<CriminalCase> cases = new ArrayList<>();
        boolean quit = false;    

        Scanner s = new Scanner(System.in);

         robin j=new robin();  


        while (!quit) {

            System.out.println("To view current cases enter v\nto add a case enter a\nto quit enter q");
            String input = s.nextLine();

            switch(input){
                case ("v"): {
                    System.out.println("The following cases exist:");
                    for (CriminalCase c : cases)
                         System.out.println(c.getBatput());
                    break;
                }
                case("a"):{
                    String batput=j.Batman();

                    cases.add(new CriminalCase(batput));
                    break;
                }
                case("q"):{
                    quit = true;
                    break;
                }

            }
        }
    }

}