Mustafa_ub2016 Ответов: 2

Я получаю массив из связанного ожидания для следующей программы?


public class LeapYear {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
int year=Integer.parseInt(args[0]);
 boolean IsLeapYear;
 IsLeapYear=(year%4==0);
 IsLeapYear=IsLeapYear && (year% 100!=0);
 IsLeapYear=IsLeapYear&&(year % 400 ==0);
 System.out.println(IsLeapYear);
	}

}


Что я уже пробовал:

Я объявил LeapYear публичным классом
объявлен целый год.
я взял логическое значение как isleapyear
попробуйте проверить, является ли данный год, который я представил, годом скачка или нет.

Richard Deeming

Единственный доступ к массиву-это чтение первого аргумента командной строки. Это означало бы, что вы забыли передать аргумент командной строки программе.

Richard Deeming

Кроме того, вы можете проверить правила определения високосных лет. Ваш код в настоящее время не реализует их правильно.

Mohibur Rashid

Как это вообще компилируется?

2 Ответов

Рейтинг:
2

Patrice T

Вы должны научиться использовать отладчик как можно скорее. Вместо того чтобы гадать, что делает ваш код, пришло время увидеть, как он выполняется, и убедиться, что он делает то, что вы ожидаете.

Отладчик позволяет вам следить за выполнением строка за строкой, проверять переменные, и вы увидите, что есть точка, в которой он перестает делать то, что вы ожидаете.
Отладчик-Википедия, свободная энциклопедия[^]
Освоение отладки в Visual Studio 2010 - руководство для начинающих[^]
http://docs.oracle.com/javase/7/docs/technotes/tools/windows/jdb.html[^]
https://www.jetbrains.com/idea/help/debugging-your-first-java-application.html[^]

Ваш код, похоже, терпит неудачу в течение многих лет, таких как 1600, 2000 и 2400.


Рейтинг:
1

OriginalGriff

Поэтому проверьте, есть ли хотя бы один аргумент, прежде чем пытаться его использовать!

if (args.length > 0) {
    int year = Integer.parseInt(args[0]);
    boolean IsLeapYear;
    IsLeapYear=(year%4==0);
    IsLeapYear=IsLeapYear && (year% 100!=0);
    IsLeapYear=IsLeapYear&&(year % 400 ==0);
    System.out.println(IsLeapYear);
    }