我正在研究自己的项目。一个项目,您可以让您输入当天,然后程序会为您提供给定日期的日期。
这是我的数组:
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:
答案 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"};