我想在另一種方法中將主方法中的字符串轉換爲整數,但出現錯誤。方法錯誤,類不能應用於不同的類型?
` public static void main(String[] args)
{
System.out.println("Enter a date (use the format -> (MM/DD/YYYY)");
//declare Scanner
Scanner in = new Scanner (System.in);
System.out.println("Enter a month (MM): ");
String month = in.nextLine();
System.out.println("Enter a day (DD): ");
String day = in.nextLine();
System.out.println("Enter a year (YYYY): ");
String year = in.nextLine();
String enteredDate = month + "/" + day + "/" + year;
if (main.isValidDate(enteredDate))
{
main.leapYearCheck();
}
}
private boolean isValidDate(String enteredDate)
{
//logic
parsedDate = null;// if it's valid set the parsed Calendar object up.
return true;
}
// other code
private void leapYearCheck(String year)
{
//leapyear
int theYear = Integer.parseInt(year);
if (theYear < 100)
{
if (theYear > 40)
{
theYear = theYear + 1900;
}
else
{
theYear = theYear + 2000;
}
}
if (theYear % 4 == 0)
{
if (theYear % 100 != 0)
{
System.out.println(theYear + " is a leap year.");
}
else if (theYear % 400 == 0)
{
System.out.println(theYear + " is a leap year.");
}
else
{
System.out.println(theYear + " is not a leap year.");
}
}
else
{
System.out.println(theYear + " is not a leap year.");
}
}//end of leap year
//other code }`
我得到的錯誤: Date.java:31: error: method leapYearCheck in class Date cannot be applied to given types; main.leapYearCheck(); ^ required: String found: no arguments reason: actual and formal argument lists differ in length 1 error
我不明白這個錯誤。說我需要一個字符串,並且由於該方法使用一個整數(我圖)我需要返回一個字符串?我將如何解決這個問題?
我做? 'private void leapYearCheck(String year)' –
你必須在調用它時傳遞year變量。 –
o!我懂了。謝謝! –