У меня было a question earlier по программе, которую я писал, чтобы имитировать рост растений. Он по существу использует цикл, который учитывает заданный предел.Java - проверка грамматики не работает должным образом
С тех пор я изменил код на следующее:
/*
Java program: plant.java
This program runs a loop simulating plant growth.
The idea is that the plant will continue to have "repeated"
growth and that it will stop (or slow down to a crawl) at some point,
in this case at 100 branches.
*/
public class plant1
{
public static void main (String [] poop)
{
int current_growth = 0, limit = 100; //plant growth starts at ZERO and is limited to 100
String word = "branches";
for(current_growth = 0; current_growth <= limit; ++current_growth)
{
//here, we are checking to see if the plant has grown just 1 inch.
//this is important just for grammatical purposes
if (current_growth == 1)
{
word = "branch"; //this changes the "word" to branch instead of branches
}
if (current_growth < 100)
{
System.out.println("Your plant has grown " + current_growth + " " + word);
}
else
{
System.out.println("Your plant will no longer grow.");
} // end else
} //end while loop
} //end main method
} //end class
Единственная проблема заключается в следующем:
Я добавил грамматическую проверку, чтобы проверить наличие единственного и множественного числа по отношению к количеству branches
печатается.
Однако, когда я запускаю код проверка не работает так, у меня есть предложения, как Your plant has grown 97 branch
, когда он должен сказать Your plant has grown 97 branches
Шаг через него. Вы настраиваете его на «ветку» на 1, но вы не вернетесь к «веткам», когда вы> 1. Используете ли вы среду IDE? Очень полезно узнать, как выполнить свой код (отладка). – keyser
Почему бы не начать с 'word = branch', а затем как' current_growth> 1', установите его в 'branch'. Было бы намного чище. –