我读到过使用'while(true)'是一个大禁忌,建议使用'while(condition)'或'do... while(condition)'(1)。你能告诉我如何在这里做到这一点吗?
while (true){
get some data;
if(condition based on data above), do something;
else(break);
} //repeat until break reached
字符串
我可以使用“do. while”(见下文),但这会重复“if”条件,因此这似乎不是最佳选择-
do{
get some data; //must happen first to get info to create condition
if(condition based on data above), do something;
} while(condition based on data above);
型
4条答案
按热度按时间rhfm7lfc1#
它可以更简单,比如:
字符串
sf6xfgos2#
使用while(true)是没有问题的。你读到的禁忌是因为它是一个潜在的问题,可能会导致无限循环。
所以如果是这种情况,你可以使用一个计数器来打破循环,如果没有发生任何事情,直到那。例如,max_attempt = 100。
os8fio9y3#
为什么不做:
字符串
例如:
型
8yoxcaq74#
我会用这样的东西:
字符串
范例:
型