所以我有一个名为Date
的简单类,有3个数据成员和一个单独的类Driver
;我试图在类Date
的set方法中使用try-catch块检查输入错误。
public void setDate(int month, int day, int year)
{
try
{
dMonth = month;
dDay = day;
dYear = year;
}
catch (InputMismatchException imeR)
{
System.out.println("Wrong input type");
}
}
但是当我编译课程Drive
...
public class Driver
{
public static void main (String[] args)
{
Date zeroDate = new Date ();
System.out.println(zeroDate.getMonth());
zeroDate.setDate(4,4,4);
System.out.println(zeroDate.getMonth());
zeroDate.setDate(4,4,"string");
}
}
...,我收到以下错误:
Driver.java:14: error: incompatible types: String cannot be converted to int
zeroDate.setDate(4,4,"ted");
其他一切正常,当我注释掉这一行......
zeroDate.setDate(4,4,"string");
...,我能够很好地操纵课程日期。
这是我第一次尝试try-catch块。有人可以解释我错过的东西吗?
答案 0 :(得分:3)
这与try-catch块无关。这是因为你传入了一个需要int的字符串。 因为Java是静态类型的,所以它不允许你在编译时这样做。
答案 1 :(得分:0)