Моя цель - подсчитать количество согласных ТОЛЬКО в строке, и это мой код:
import java.io.*;
/**
* Write a description of class Program46 here.
*
* @author (your name)
* @version (a version number or a date)
*/
public class Program46
{
public static void main()throws IOException
{
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
System.out.println("Enter phrase: ");
String phrase=br.readLine();
int lth=phrase.length();
int ctr=0;
for(int i=0;i<=lth-1;i++)
{
char a=phrase.charAt(i);
boolean chk=Character.isDigit(a);
if(a!='a'&&a!='e'&&a!='i'&&a=='o'&&a!='u'&&a!=' '&& chk==false)
ctr++;
}
System.out.println("No. of consonents: "+ctr);
}
}
Программа компилируется, не показывая синтаксической ошибки. Однако, когда я выполняю это в void main(), независимо от того, что я ввожу, количество подсчитываемых согласных всегда равно 0. Есть ли ошибка в моей программе? Если это так, я прошу вас предложить лучший способ сделать это или способ исправить приведенный выше код.
&&a=='o'
должно быть&&a!='o'
. Я голосую за закрытие как опечатку. Подумайте об удалении вопроса, если это решит вашу проблему. - person Sergey Kalinichenko   schedule 08.08.2015