JAVA类对象作一方法的参数,另外一个类调用方法时()里填什么(如下题,运行后的结果为什么是0?求高手解答)

importjava.text.SimpleDateFormat;importjava.util.*;class天数{longday(Calendarcalendar1,... import java.text.SimpleDateFormat;
import java.util.*;

class 天数{

long day(Calendar calendar1,Calendar calendar2){
long time1=calendar1.getTimeInMillis();
long time2=calendar1.getTimeInMillis();
long 相隔天数=(time2-time1)/(1000*60*60*24);
return 相隔天数;
}
}
public class Example4_15 {
public static void main(String[] args) {
Calendar a=Calendar.getInstance();
Calendar b=Calendar.getInstance();
天数 e=new 天数();
a.set(1962,5,29);
b.set(2006,9,1);
long abc=e.day(a,b);
System.out.println(abc);
}
}
展开
 我来答
mebius0
2011-09-10 · TA获得超过386个赞
知道答主
回答量:53
采纳率:0%
帮助的人:57.4万
展开全部
哈哈哈!测试了半天,正纳闷呢。忽然发现你的一个疏忽,就是这个问题!
你看看,
long time1=calendar1.getTimeInMillis();
long time2=calendar1.getTimeInMillis();
应该是:
long time1=calendar1.getTimeInMillis();
long time2=calendar2.getTimeInMillis();
呵呵,你都用的是calendar1,同一天,结果能不是0嘛。手误了吧?
ddsf123
2011-09-10
知道答主
回答量:33
采纳率:0%
帮助的人:15.3万
展开全部
你检查一下这一段,long 相隔天数=(time2-time1)/(1000*60*60*24);
这个除法运算办不到,long不能保存小数,应该会出现负小数(不足1),当然是0
还有你这种写法是对的,传参调用是这样子的.
追问
这个计算按道理计算出来是整数吧,因为时间的单位是毫秒,/(1000*60*60*24)这个将结果转算为天数。
追答
你打印一下变量(相隔天数)的值试试啊,调用是这样子的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
hx397809648
2011-09-10 · TA获得超过150个赞
知道答主
回答量:120
采纳率:0%
帮助的人:44.9万
展开全部
long day是你的方法名?
追问
是的。若方法里写(int a,int b)在别处调用直接时可直接赋值,如(21,10)这样的,但若是对象作参数我就不太懂了,在调用时有没有可直接赋值的?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式