首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >LinkedList<LinkedList<String>>并排输出元素?

LinkedList<LinkedList<String>>并排输出元素?
EN

Stack Overflow用户
提问于 2017-06-08 18:58:21
回答 1查看 84关注 0票数 0

我有个问题。我不能并排输出我的LinkedList。我问了这个问题,但遗憾的是,我的老师告诉我,不要改变方法的头,也不要使用像日历那样的java语言。我有很多关于使用它或改变方法头的建议。我依年级而定,老师很严格。

必须有从左到右输出二维LinkedList的可能性。我可以想象,如果输出了LinkedList泛型中的一个元素,请往右走。

我正在为实现这一想法而奋斗。我希望你能帮助我。

在这里,我只是返回一个字符串,但是为了测试,我输出了要添加的字符串。

代码语言:javascript
复制
public String getYearplan(int from, int until) {
    if (from <= until) {
        for (int i = from; i <= until; i++) {
            LinkedList<String> buildedMonth = buildMonth(i);
            this.planlist.add(buildedMonth);
        }
        for (LinkedList<String> months: planlist) {
            for (String s : months) {
                System.out.printf("%24s",s);
            }
     }
}

‘在这个方法中,buildMonth,我正在构建月份,并返回一个this.planlist添加的LinkedList。

代码语言:javascript
复制
 public LinkedList<String> buildMonth(int month) {
            LinkedList<String> monthList = new LinkedList<>();
            StringBuilder sb = new StringBuilder();
            String header = this.monthname[month] + " " + this.year;
            sb.append(header);

            int lengthOfMonth = calender.getLengthOfMonth(jahr, monat);

            for (int day = 1; day <= lengthOfMonth; day++) {


                for (int weekday = 0; weekday < 7; weekday++) {
                    String weDay = kalender.getDayOfWeek(weekday);
                    this.weekDayName = weDay;
                }
                this.daynumber++;
                String dayOfMonth = this.kalender.getTwoLetter(day);

                /*
                  modus = -1 is calender without holiday
                */
               if (this.modus == -1) {
                    sb.append("\n"+this.weekDayName+"|"+dayOfMonth.toString()+"|\t\t|"+daynumber);
                }
            }
            monthList.add(sb.toString());

            return monthList;
        }`

这是我的输出,我得到的和所有的工作没有一些东西,但它很容易修复。主要的问题是,我不能并排输出它。“奇怪的是,二月的标题移到左边,而不是其他元素。

代码语言:javascript
复制
    January 2017
    Sa|01|      |1
    Sa|02|      |2
    Sa|03|      |3
    Sa|04|      |4
    Sa|05|      |5
    Sa|06|      |6
    Sa|07|      |7
    Sa|08|      |8
    Sa|09|      |9
    Sa|10|      |10
    Sa|11|      |11
    Sa|12|      |12
    Sa|13|      |13
    Sa|14|      |14
    Sa|15|      |15
    Sa|16|      |16
    Sa|17|      |17
    Sa|18|      |18
    Sa|19|      |19
    Sa|20|      |20
    Sa|21|      |21
    Sa|22|      |22
    Sa|23|      |23
    Sa|24|      |24
    Sa|25|      |25
    Sa|26|      |26
    Sa|27|      |27
    Sa|28|      |28
    Sa|29|      |29
    Sa|30|      |30
    Sa|31|      |31February 2017
    Sa|01|      |32
    Sa|02|      |33
    Sa|03|      |34
    Sa|04|      |35
    Sa|05|      |36
    Sa|06|      |37
    Sa|07|      |38
    Sa|08|      |39
    Sa|09|      |40
    Sa|10|      |41
    Sa|11|      |42
    Sa|12|      |43
    Sa|13|      |44
    Sa|14|      |45
    Sa|15|      |46
    Sa|16|      |47
    Sa|17|      |48
    Sa|18|      |49
    Sa|19|      |50
    Sa|20|      |51
    Sa|21|      |52
    Sa|22|      |53
    Sa|23|      |54
    Sa|24|      |55
    Sa|25|      |56
    Sa|26|      |57
    Sa|27|      |58
    Sa|28|      |59`

这就是我想要达到的结果。

代码语言:javascript
复制
  January 2017            February 2017           
  So|01|            |1    Mi|01|            |32  
  Mo|02|            |2    Do|02|            |33   
  Di|03|            |3    Fr|03|            |34   
  Mi|04|            |4    Sa|04|            |35    
  Do|05|            |5    So|05|            |36    
  Fr|06|            |6    Mo|06|            |37    

我希望这不是很多,但这次我想说清楚我的问题。向马斯库林问好

EN

回答 1

Stack Overflow用户

发布于 2017-06-08 19:15:33

在一个比月更高的维度上迭代一遍天,我认为这是要走的路。这样,您可以遍历每一天,并在每个月进入第二天之前列出它们。

下面的内容还没有经过测试,但我希望这一概念得到了举例说明。

代码语言:javascript
复制
    public String getYearplan(int from, int until) {
        if (from <= until) {
            for (int i = from; i <= until; i++) {
                LinkedList<String> buildedMonth = buildMonth(i);
                this.planlist.add(buildedMonth);
            }
            for (int day = 0; day < 31; day++){
                for (LinkedList<String> month: planlist) {
                    try{
                        System.out.print(month[day]);
                    } catch (Exception e) {
                        System.out.print("\t")
                    }
                }
            }
    }
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44443607

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档