Я программировал на Java уже несколько лет, но недавно вернулся в школу, чтобы получить формальную степень. Я был очень удивлен, узнав, что в моем последнем задании я потерял очки за использование цикла, как показано ниже.
do{
//get some input.
//if the input meets my conditions, break;
//Otherwise ask again.
} while(true)
Теперь для моего теста я просто просматриваю какой-то вход в консоль, но мне сказали, что этот тип цикла не рекомендуется, потому что использование break
сродни goto
, мы просто этого не делаем.
Я полностью понимаю подводные камни goto
и его кузена Java break:label
, и у меня есть здравый смысл не использовать их. Я также понимаю, что более полная программа обеспечит некоторые другие способы побега, скажем, например, чтобы просто закончить программу, но это не было причиной, которую цитировал мой профессор, поэтому...
Что случилось с do-while(true)
?