2013-04-03 52 views
0

我想在另一種方法中將主方法中的字符串轉換爲整數,但出現錯誤。方法錯誤,類不能應用於不同的類型?

` 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

我不明白這個錯誤。說我需要一個字符串,並且由於該方法使用一個整數(我圖)我需要返回一個字符串?我將如何解決這個問題?

回答

1

根據定義,您需要將字符串中的年份傳遞給leapYearCheck方法。

+0

我做? 'private void leapYearCheck(String year)' –

+0

你必須在調用它時傳遞year變量。 –

+0

o!我懂了。謝謝! –

1

通今年主要方法爲:

if (main.isValidDate(enteredDate)) { 
    main.leapYearCheck(year); 
} 

`

+0

啊!這工作!謝謝! –

相關問題