Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/316.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 元音和辅音_Java - Fatal编程技术网

Java 元音和辅音

Java 元音和辅音,java,Java,我很难完成这段关于计算字符串中元音和辅音数量的代码。 当我向类发送一个字符串时,getVouelCount方法和getConstCount方法都被证明是错误的,我相信问题出在这两个方法的for循环中,我尝试用字符串的特定字符调用Isleter方法,但我不确定。我明白了 线程“main”java.lang.NullPointerException/at DCMvowelsAndConsonants.getVouelCount(DCMvowelsAndConsonants.java:30)/at D

我很难完成这段关于计算字符串中元音和辅音数量的代码。 当我向类发送一个字符串时,getVouelCount方法和getConstCount方法都被证明是错误的,我相信问题出在这两个方法的for循环中,我尝试用字符串的特定字符调用Isleter方法,但我不确定。我明白了

线程“main”java.lang.NullPointerException/at DCMvowelsAndConsonants.getVouelCount(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;
  }
}
公共类DCMvowelsAndConsonants
{
弦线;
公共DCMvowelsAndConsonants()
{
字符串行=”;
}
公共DCMvowelsAndConsonants(字符串l)
{
弦线=l;
}
公共静态布尔值计数器(字符i)
{
返回i='a'| i='a'| i='e'| i='e'| i='i'| i='i'| i='o'| i='o'| i='u'| i='u'| i='u';
}
public int getVouelCount()
{
int-vouelcount=0;
对于(int i=0;i
更改构造函数以删除“字符串”部分。这就是声明一个局部变量并分配给它,而不是分配给您的成员变量

所以它们应该看起来像:

   public DCMvowelsAndConsonants()
   {
      line = " ";
   }

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

更改构造函数以删除“字符串”部分。这就是声明一个局部变量并分配给它,而不是分配给您的成员变量

所以它们应该看起来像:

   public DCMvowelsAndConsonants()
   {
      line = " ";
   }

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

您的问题在于构造函数。您正在构造函数中创建一个新变量。将构造函数替换为:

public DCMvowelsAndConsonants() {
      this.line = " ";
}

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

您的问题在于构造函数。您正在构造函数中创建一个新变量。将构造函数替换为:

public DCMvowelsAndConsonants() {
      this.line = " ";
}

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

@TimBiegeleisen“我看你的代码没有问题。”然后重新检查他的代码constructors@Tom脸掌。请随意发布您的答案。@TimBiegeleisen我更喜欢寻找一个被愚弄的人,而不是像这里的其他人一样(D:P[不是你:))。@TimBiegeleisen“我看你的代码没有问题。”然后重新检查他的代码constructors@Tom脸掌。请随意发布您的答案。@TimBiegeleisen我更喜欢寻找一个被愚弄的人,而不是像这里的其他人一样(D:P[不是你:))。哈哈哇,这些小错误谢谢you@DanielCharles很乐意帮忙。如果这个答案对你有帮助的话,欢迎接受。哈哈,哇,这些小错误谢谢you@DanielCharles很乐意帮忙。如果这个答案对你有帮助,请随意接受。