Java 我需要使用标题、开发者、流派等对游戏进行排序

Java 我需要使用标题、开发者、流派等对游戏进行排序,java,arrays,sorting,search,printing,Java,Arrays,Sorting,Search,Printing,我还不知道如何处理数组,也不知道该怎么做。这是全部作业 编写一个JAVA程序,使用数组维护计算机游戏列表。主程序应重复显示以下菜单 一,。插入游戏 美国。搜索游戏 p。打印列表 问题。退出 选择: 该数组存储一个计算机游戏列表,列表中的每个游戏由标题(字符串、键)、开发者(字符串)、流派(字符串)、生产年份(int)和价格(浮动)组成。列表应按键(标题)的递增顺序进行维护 选项我应该阅读一个游戏(标题、开发者、类型、年份、价格)并将游戏插入数组。请注意,新游戏应该插入到正确的位置,以便整个阵列可

我还不知道如何处理数组,也不知道该怎么做。这是全部作业

  • 编写一个JAVA程序,使用数组维护计算机游戏列表。主程序应重复显示以下菜单
  • 一,。插入游戏

    美国。搜索游戏

    p。打印列表

    问题。退出

    选择:

    该数组存储一个计算机游戏列表,列表中的每个游戏由标题(字符串、键)、开发者(字符串)、流派(字符串)、生产年份(int)和价格(浮动)组成。列表应按键(标题)的递增顺序进行维护

    选项我应该阅读一个游戏(标题、开发者、类型、年份、价格)并将游戏插入数组。请注意,新游戏应该插入到正确的位置,以便整个阵列可以保持排序。在阵列末尾添加新游戏后,再次对整个阵列进行排序成本高昂,因此不可接受。选项s要求输入游戏标题,并列出与输入的标题匹配的所有游戏。请注意,两个或多个游戏可能具有相同的标题。选项p仅列出存储在阵列中的所有游戏

    我们假设最多100场比赛

    这是我到目前为止所拥有的

    lab12包装

     import java.util.Scanner;
    
      // create second class to hold methods
    class next {
    
    // create "insert game" method
    public void insert( ) {
        System.out.println("Insert");
    
    }
    
    // create "search game" method
    public void search( ) {
        System.out.println("Search");
    
    }
    
    // create "print list" method
    public void print( ) {
        System.out.println("Print");
    
    }
    
    // create method to 
    
      }
    
     public class Lab12 {
    
    public static void main(String[] args) {
        Scanner in = new Scanner( System.in );
    
        // create string to see what user wishes to do
        String choose;
    
        // create instance of other class
        next choice = new next();
    
        do {
            // see which method user wants to use
        System.out.print("Do you want to insert game (i) or search game (s) "
                + "or print list (p) or quit (q)? ");
        // create string to see which method to go to
        choose = in.nextLine();
    
        // send user to correct method
        if ( choose.equals("i") || choose.equals("I"))
            choice.insert();
        else if ( choose.equals("s") || choose.equals("S") )
            choice.search();
        else if ( choose.equals("p") || choose.equals("P") )
            choice.print();
    
        } while ( choose.equals("i") || choose.equals("s") || choose.equals("p") 
                || choose.equals("I") || choose.equals("S") || choose.equals("P"));
    
      }
    
     }
    
    我不知道如何对数组中的游戏进行排序,它说按键排序,但我不知道如何用字符串输入键。我也不擅长数组,所以我不知道如何将所有信息链接在一起。 谢谢你的帮助! 真诚地
    一个压力很大的大学生。

    约翰,创建一个包含所有四个参数的POJO。 使用comparator对每个插入的数组或列表进行排序。使用下面的链接了解更多信息。


    或者你甚至可以使用带有键的排序地图作为游戏名称

    正如敏捷真菌所说,第一步是创建一个游戏类,该类将作为您的对象,代表阵列中的游戏

    如果您不关心效率,那么Collections库有一个内置的排序方法,您可以使用它。如果您确实需要担心效率(例如,海量数据集),您应该考虑实现更高级的排序算法。尽管如此,我还是相当肯定Collections.sort实现了合并排序,这在大多数情况下应该已经足够了

    要在包含对象的数据结构上使用Collections.sort,必须在方法调用中提供Comparator:

    Collections.sort(array, comparator);
    
    有关创建和使用比较器对象的信息,请查看

    另外,如果您计划只使用这个比较器一次,我建议您创建一个匿名类,而不是在项目中创建一个全新的类。下面是创建和使用匿名类的步骤


    最后要提到的一点是,与其创建一个新的比较器,不如让您的游戏类实现Comparable,这将允许您在创建游戏对象时定义游戏对象的自然顺序。

    如果您需要一个键,请使用某种形式的
    Map
    ,价值配对在寻求帮助之前尝试实施这些方法,以便我们可以引导您朝着正确的方向前进,目前还无法知道您已经尝试了什么。