import java.io.*;
public class Page117
{
public static void main(String[] args) throws IOException
{
BufferedReader input = new BufferedReader(new InputStreamReader(System.in));
char letter;
String sentence;
int counter = 0;
char response = 'o';
do
{
System.out.print("Type a sentence: ");
sentence = input.readLine();
System.out.print("Type a character to find: ");
letter = (char) input.read();
for(int x=0;x<sentence.length();x++)
{
if(letter==sentence.charAt(x))
{
counter++;
}
}
System.out.println("Number of times " + letter + " occured is: " + counter);
System.out.print("Continue? [y/n]: ");
response = (char) input.read();
}while(response != 'n');
}
}
О программе: Пользователь вводит предложение. Пользователь также вводит символ и подсчитывает, сколько из этого символа встречается в предложении.Java: Do-while цикл «да или нет»
У меня возникла небольшая проблема. Как сделать так, чтобы после процесса он позволял мне вводить мой ответ. Потому что после того, как я введу символ и расскажу о количестве вхождений, он либо выйдет, либо не позволит мне вводить что-либо.
Я пробовал почти все в своем коде. Я не использую do-while циклы, поэтому это довольно сложно для меня. Я тоже не использую booleans.
Подсказка: при ответе «Введите символ для поиска:» Вы, вероятно, ввести какое-то письмо и нажмите [Enter], это возвращение фактически конец-линии голец, см https: // ideone. com/ePYWSE Примечание: вам следует использовать «Сканер» –
. Лучшим предложением для чтения является чтение на интерактивном входе. Возможно, вы захотите использовать сканер. Мое подозрение заключается в том, что если вы наберете, скажем, t, букву t программы в своем предложении и возвращаете карету, тогда возврат каретки будет считаться ответом в конце и сравним с «n» , Вы можете проверить такие допущения с помощью отладчика или временных инструкций System.out.println(). –
Количество ошибок также неверно, так как вы не очищаете переменную * counter * для каждого прогона. – 0x23212f