是否可以在数组中重复?

时间:2014-12-06 06:28:00

标签: java

我正在研究自己的项目。一个项目,您可以让您输入当天,然后程序会为您提供给定日期的日期。

这是我的数组:

String []days = {"Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday", "Sunday", "Monday"};

我的状况:

if(inputDate <= 6){
                  firstCase = yearsCode[0] + inputDate + 3 - 7;
                  System.out.println("January " + inputDate + " is " + days[firstCase]);}

我把星期日和星期一再次放了一天,因为如果输入日期是5 <7,它会给我ArrayOutOfBoundsException。

我得到了算法here #6

4 个答案:

答案 0 :(得分:1)

是的,可以在数组中复制,但您可能会找到更好的方法来执行此操作。

答案 1 :(得分:0)

我读了链接的内容。这是解决方案。
从上次删除星期日和星期一。如果结果大于6,则只应减去7(do mod)的倍数。 所以你的代码应该是

  firstCase = (yearsCode[0] + inputDate + 3)%7;
  System.out.println("January " + inputDate + " is " + days[firstCase]);

答案 2 :(得分:0)

阵列不关心你放入它们的内容,如果你愿意,你可以在阵列中拥有一个对象的几个副本。

但是,为了更优雅地解决您的问题,您可以确保您计算的索引永远不会超过数组中的元素数。为此,您可以使用模运算符%

   firstCase = yearsCode[0] + inputDate + 3 - 7;
   firstCase = firstCase % 7;

答案 3 :(得分:0)

在数组中有重复值是否可以?

new String[]{"yes", "yes", "and", "absolutely", "yes"};