2016-03-26 6 views
2

Вот мой код, когда я собираюсь компилировать и запускать код, он не возвращает ничего, что я не понимаю, потому что у меня есть операторы return в If и Else.Почему мой метод ничего не возвращает?

public class Program8 
{ 
    public static void main(String[] args) 
    { 
     getMonth("02/12/96"); 
    } 

    public static int getMonth(String date) 
    { 
     if(date.substring(0,1).equals("0")) 
     { 
      return Integer.parseInt(date.substring(1,2)); 
     } 
     else 
     { 
      return Integer.parseInt(date.substring(0,2)); 
     } 
    } 
} 
+3

Непосредственно связано с проблемой, но ваш чек, если первая цифра '0', не нужна. 'Integer.parseInt' также будет разбирать' '02" 'как' 2'. – Clashsoft

ответ

1

Вам нужно напечатать возвращаемую переменную на консоли.

например.

public static void main(String[] args){ 
    System.out.println(getMonth("02/12/96")); 
} 

Программа не может знать, хотите ли вы печатать месяц в консоли.

2

Вы ничего не выводите. Попробуйте:

public static void main(String[] args){ 
    System.out.println(getMonth("02/12/96")); 
} 
4

Ваш метод getMonth делает возвращать значение, но она просто отбрасывается в методе main.

Возможно, вы хотели бы напечатать его, как это:

public static void main(String[] args){ 
    System.out.println(getMonth("02/12/96")); 
} 

Или войти, или из сделать это как-то виден пользователю (например, GUI), или присвоить его переменной, как это:

public static void main(String[] args){ 
    int month = getMonth("02/12/96"); 
    // now `month` can be used for the subsequent operations/calculations 
} 

, а затем использовать переменные значения в дальнейших расчетах.

Смежные вопросы