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);
}
} 展开
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);
}
} 展开
展开全部
哈哈哈!测试了半天,正纳闷呢。忽然发现你的一个疏忽,就是这个问题!
你看看,
long time1=calendar1.getTimeInMillis();
long time2=calendar1.getTimeInMillis();
应该是:
long time1=calendar1.getTimeInMillis();
long time2=calendar2.getTimeInMillis();
呵呵,你都用的是calendar1,同一天,结果能不是0嘛。手误了吧?
你看看,
long time1=calendar1.getTimeInMillis();
long time2=calendar1.getTimeInMillis();
应该是:
long time1=calendar1.getTimeInMillis();
long time2=calendar2.getTimeInMillis();
呵呵,你都用的是calendar1,同一天,结果能不是0嘛。手误了吧?
展开全部
你检查一下这一段,long 相隔天数=(time2-time1)/(1000*60*60*24);
这个除法运算办不到,long不能保存小数,应该会出现负小数(不足1),当然是0
还有你这种写法是对的,传参调用是这样子的.
这个除法运算办不到,long不能保存小数,应该会出现负小数(不足1),当然是0
还有你这种写法是对的,传参调用是这样子的.
追问
这个计算按道理计算出来是整数吧,因为时间的单位是毫秒,/(1000*60*60*24)这个将结果转算为天数。
追答
你打印一下变量(相隔天数)的值试试啊,调用是这样子的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
long day是你的方法名?
追问
是的。若方法里写(int a,int b)在别处调用直接时可直接赋值,如(21,10)这样的,但若是对象作参数我就不太懂了,在调用时有没有可直接赋值的?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询