有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java创建一个程序来归档刑事案件,然后查看这些案件,并允许添加新的案件

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

我需要一个主意!我需要一个办法来解决这个问题!我该用什么?阵列会有帮助吗


共 (2) 个答案

  1. # 1 楼答案

    解决了

    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;
                    }
    
                }
            }
        }
    

    }

  2. # 2 楼答案

    下面的代码片段是一个非常基本的示例,说明了如何设计类似的东西——它应该让您对如何扩展它有一个基本的想法,为案例添加更多细节,或者可能添加一些其他方法,例如仅查看带有特定名称的特定案例,或者删除已添加的案例

    第一步可能是向用户输入添加验证,或者将日期存储在更适合它的对象中,例如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
                    }
    
                     */
                }
            }
        }
    }