java - Java 元音和辅音

标签 java

我无法完成这段有关计算字符串中元音和辅音数量的代码。 每当我向类发送字符串时, getVowelCount 方法和 getConstCount 方法都会出现错误,我相信问题出在这两种方法的 for 循环中,我尝试使用字符串的特定字符调用 isLetter 方法但我不确定。我明白了

Exception in thread "main" java.lang.NullPointerException / at DCMvowelsAndConsonants.getVowelCount(DCMvowelsAndConsonants.java:30) / at DCMvowelsAndConsonantsDriver.main(DCMvowelsAndConsonantsDriver.java:40)

我不确定是否应该发布驱动程序,因为这已经很大了。

public class DCMvowelsAndConsonants
{
   String line;

   public DCMvowelsAndConsonants()
   {
      String line = " ";
   }

   public DCMvowelsAndConsonants(String l)
   {
      String line = l;
   }

   public static boolean isLetter(char i)
   {
      return i == 'a' || i == 'A' || i == 'e' || i == 'E' || i == 'i' || i == 'I' || i == 'o' || i == 'O' || i == 'u' || i == 'U';
   }

   public int getVowelCount()
   {
      int vowelCount = 0;

      for(int i = 0; i < line.length(); i++)
      {
         if(isLetter(line.charAt(i)))
            vowelCount++;
      }
      return vowelCount;
   }

   public int getConstCount()
   {
      int constCount = 0;

      for(int i = 0; i < line.length(); i++)
      {
         if(!isLetter(line.charAt(i)))
            constCount++;
      }
      return constCount;
  }
}

最佳答案

更改构造函数以删除“String”部分。这就是声明一个局部变量并为其赋值,而不是赋值给您的成员变量。

所以它们应该看起来像:

   public DCMvowelsAndConsonants()
   {
      line = " ";
   }

   public DCMvowelsAndConsonants(String l)
   {
      line = l;
   }

关于java - Java 元音和辅音,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36415275/

相关文章:

java - 卡在递归 Fork/Join 上

java - 图形上的图像

java - 刽子手显示发现的信件

java - JFileChooser 有时会挂起

java - 不使用原始类型无法获得泛型的类对象

Java runtime.exec 导致程序崩溃

java - 从字符串集列表到普通列表

java - 阻止客户端关闭与 netty 服务器的连接(我需要设置什么)吗?

Java - 根据不同纪元的外部设备的时间戳计算时间

java - 最终静态属性更改..有什么想法或方法吗?