Я пытаюсь написать код для поиска високосного года. Однако, кажется, что-то не так с вложенными if
и else
форматом. Пожалуйста, предложите.Вложен, если заявление не работает
[int]$x = Read-Host -Prompt 'Input a year : ';
if ($x % 4 -eq 0) {
Write-Host $x 'is a leap year';
if ($x % 100 -eq 0) {
Write-Host $x 'is a leap year';
if ($x % 400 -eq 0) {
Write-Host $x 'is a leap year';
else {
Write-Host $x 'is not a leap year';
}
}
else {
Write-Host $x 'is not a leap year';
}
}
else {
Write-Host $x 'is not a leap year';
}
«Тем не менее, кажется, что-то не так» - *, что * кажется быть неправильным (кроме отсутствующего закрытия '}' перед первым 'else')? Каковы ваши ожидания? –
Я немного очистил код, так что легче понять, что пошло не так. Pri 1: считываемый код. Pri 2: Читаемый код ..... :-) –
Большое вам спасибо за исправление. Просто понял, что в коде есть отсутствующие круглые скобки, но консоль не жалуется на это - скорее это бросало год с результатами, такими как $ x - високосный год, а также $ x не високосный год. Я мог бы использовать функцию IsLeapYear и думал, что еще будет в этой функции, кроме этого кода ... Я успешно использовал это в VB Script, поэтому подумал, что я тоже напишу в PowerShell. Ну, я относительно новичок в Powershell. – 9009