Java或SQL在数组中添加了缺少的月份

时间:2017-03-03 13:27:45

标签: java mysql arrays calendar missing-data

美好的一天,亲爱的同事们

你可以帮帮我吗?我找不到决定。我从MySQL得到的数组看起来像那样(数量和月份):

[2, 07.16, 3, 08.16, 2, 10.16, 1, 11.16, 1, 12.16, 1, 01.17]

我需要在这段时间内添加0和几个月。对于这个数组,应该在08.16之后添加0和09.16,所以看起来像:

[2, 07.16, 3, 08.16, 0, 09.16, 2, 10.16, 1, 11.16, 1, 12.16, 1, 01.17]

对任何建议都会感激不尽!

PS。我试着在Java中做这样的事情:

for (int i = objArrayOfCalulatedRisks.length; i > 3; i = i - 2) {
            String dayMonthAndYear = objArrayOfCalulatedRisks[i].toString();
            StringBuilder sb = new StringBuilder();
            sb.append(dayMonthAndYear.charAt(3));
            sb.append(dayMonthAndYear.charAt(4));
            String rightMonth = sb.toString();
            String dayMonthAndYear2 = objArrayOfCalulatedRisks[i-2].toString();
            StringBuilder sb2 = new StringBuilder();
            sb2.append(dayMonthAndYear.charAt(3));
            sb2.append(dayMonthAndYear.charAt(4));
            String leftMonth = sb2.toString();
            int rightM = Integer.parseInt(rightMonth);
            int leftM = Integer.parseInt(leftMonth);        

            if (leftM + 1 != rightM) {

            }         

1 个答案:

答案 0 :(得分:0)

首先,您应该将输入数组解析为适合c:\windows\system32\drivers\beep.sys的内容。然后,您可以计算最低和最高NavigabeMap<YearMonth, Integer>之间的月份并填充结果数组。

YearMonth

输出:

  

[2,07.16,3,08.16,0,09.16,2,10.16,1,11.16,1,12.16,1,01.17]

如果您正在寻找MySQL解决方案,那么您应该使用number table