java高手来帮帮忙........

来源:百度知道 编辑:UC知道 时间:2024/05/13 08:58:54
String rebackDate;
int Num=0;
Calendar c1 =Calendar.getInstance();
String x,y,z,x1,y1,z1;
x=c1.get(Calendar.YEAR);
y=c1.get(Calendar.MONTH)+1;
z=c1.get(Calendar.DAY_OF_MONTH);
rebackDate=rs.getDate("应还书日期");
String[] subString = rebackDate.split("-");
x1=subString[0];
y1=subString[1];
z1=subString[2];
if(int(x)>=int(x1))
{ if(int(y)>=int(y1))
{ if(int(z)>=int(z1))
{
Num=(int(x)-int(x1))*12*30+(int(y)-int(y1)*30)+(int(z)-int(z1));
Text4.setText(Num);
}
}
}
能告述我错在那里了吗???

在你写的程序中类似int(x)这样的地方,你的原意是把x强制类型转换成int型吧?
强制类型转换的书写格式是 (转换后类型)变量名

所以你应该把它改成 (int)x 再试试看

GL!

像int(x1) 这样的语法不太正确,如果要将字符串转化成整数,正确的方法应该是这样Interger.parseInt(x1);其他几个地方也是这样

首先命名成这样很不好。
int(x)>=int(x1)) ;不能这样转啊,
int year=Interger.parseInt(x1);
都转成int型比较。你是想算两个日期差多好天?
其实常用的方法java都有。
int days=c1.compareTo(anotherCalendar);
就ok了

如果你c1.get方法返回的是int类型的就不需要转换了,再则rs.getDate()返回的是一个Date类型的变量,你怎么能赋给一个String 类型的变量呢,需要转换类型的。