【问题标题】:Basic assistance Arrays and LinkedLists基本辅助数组和链表
【发布时间】:2012-09-07 07:02:26
【问题描述】:

我对 java 还很陌生,所以想知道是否可以得到一些基本的帮助。

我有一个名为 Timetable 的课程

public class Timetable
{   private String Month;
    private String Day;
    private int[] times;

public Timetable(String month, String Day, int[] times) 
    {
        this.month = month;
        this.day = day;
        //initalize various times..

该类与另一个添加月、日和时间的时间表类(LinkedList)相关。像这样。。

Add(new Timetable("May","Monday", **???**));

现在我需要添加数组中不同的时间,例如 {1,2,3,4} 或 {2,4,9} 并且只有 int[4] 索引。

关于我如何初始化时间并将 int[] 时间传递给创建时间表的任何建议??

【问题讨论】:

  • 为令人敬畏的堆栈溢出用户名 xD 点赞

标签: java arrays linked-list int


【解决方案1】:

除了其他答案之外,您还可以将构造函数签名调整为

public Timetable(String month, String Day, int... times) { /*...*/ }

您的 Timetable 类中的用法将保持不变(int... 参数映射到 ints 的数组),但优点是调用将被简化为

LinkedList<Timetable> link = new LinkedList<Timetable>();

link.add(new Timetable("May", "Monday", 1, 2, 3, 4)); // array creation is now optional
link.add(new Timetable("May", "Monday", new int[]{1, 2, 3, 4})); // works as well
link.add(new Timetable("June", "Sunday", 5, 6, 7));

【讨论】:

    【解决方案2】:

    您将在调用 Add 方法之前初始化数组:

    int[] times = {1, 2, 3, 4};
    Add(new Timetable("May", "Monday", times));
    

    或:

    int[] times = {5, 6, 7};
    Add(new Timetable("May", "Monday", times));
    

    【讨论】:

      【解决方案3】:

      你也可以像这样添加时间:

      LinkedList<Timetable> link = new LinkedList<Timetable>();
      
      link.add(new Timetable("May", "Monday", new int[]{1, 2, 3, 4}));
      link.add(new Timetable("June", "Sunday", new int[]{5, 6, 7}));
      

      【讨论】:

        猜你喜欢
        • 2018-12-13
        • 1970-01-01
        • 2019-07-28
        • 1970-01-01
        • 1970-01-01
        • 2010-09-05
        • 2017-04-03
        • 1970-01-01
        • 2012-10-10
        相关资源
        最近更新 更多