Java 将天添加到某个日历变量似乎不起作用

Java 将天添加到某个日历变量似乎不起作用,java,calendar,Java,Calendar,我正在做一个关于用java创建酒店预订系统的项目。我需要帮助,因为我觉得我的代码是正确的(显然不是),但它似乎没有给我正确的结果 所以我想做的是我有两个约会,一个是入住,一个是退房。 我向用户询问签入日期,该日期很好,我将签入日期设置为输入。然后我问他/她要住几晚。通过使用入住日期和夜数,我应该能够计算预订成本,但当我将日期加在入住日期上以获得结账日期时,它会将入住日期设置为结账日期,并从中计算成本 示例:签入=周四,夜数=2 它将入住日期设置为星期六(星期四+2),也将结账日期设置为星期六,但

我正在做一个关于用java创建酒店预订系统的项目。我需要帮助,因为我觉得我的代码是正确的(显然不是),但它似乎没有给我正确的结果

所以我想做的是我有两个约会,一个是入住,一个是退房。 我向用户询问签入日期,该日期很好,我将签入日期设置为输入。然后我问他/她要住几晚。通过使用入住日期和夜数,我应该能够计算预订成本,但当我将日期加在入住日期上以获得结账日期时,它会将入住日期设置为结账日期,并从中计算成本

示例:签入=周四,夜数=2

它将入住日期设置为星期六(星期四+2),也将结账日期设置为星期六,但计算从星期六到星期一的住宿费用

 String days [] = {"MONDAY", "TUESDAY", "WEDNESDAY", "THURSDAY", "FRIDAY",         "SATURDAY", "SUNDAY"};
Calendar ci = r.getStartDate();
System.out.println("Original: " + ci.getTime());
Calendar co = ci;

for(int y = 0; y < nights; y++)
{
  co.add(Calendar.DAY_OF_MONTH, 1);
  int dayOfWeek = co.get(Calendar.DAY_OF_WEEK);
  cost = cost + rates[dayOfWeek-1];
}

System.out.println("From: " + r.getStartDate().getTime());
System.out.println("Until: " + co.getTime());
r.setEndDate(co);
cost = cost - (cost*disc);
r.setCost(cost);
} 
String days[]={“周一”、“周二”、“周三”、“周四”、“周五”、“周六”、“周日”};
日历ci=r.getStartDate();
System.out.println(“原始:+ci.getTime());
日历co=ci;
对于(int y=0;y
原始版本的输出是正确的日期,但与原始版本的输出不同,因为原始版本的输出是怪异的


任何帮助都将不胜感激

开始和结束日期相同,因为开始和结束日历对象是相同的对象:

co
所做的任何修改也会修改
r.getStartDate()
(还有
ci
,但您从不使用该变量)

我怀疑你想这样做:

Calendar co = new Calendar();
co.setTime(r.getStartDate().getTime());

并完全删除
ci
变量。

房间、酒店和预订与将日期添加到日期中有什么关系?什么都没有。请把你的问题删掉,这样它就只有相关的内容了。希望删掉就可以了@波西米亚脱光衣服!
Calendar co = new Calendar();
co.setTime(r.getStartDate().getTime());