【问题标题】:Vowels and Consonants Java [duplicate]Java的元音和辅音[重复]
【发布时间】:2016-04-05 00:46:07
【问题描述】:

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

线程“main”中的异常 java.lang.NullPointerException / 在 DCMvowelsAndConsonants.getVowelCount(DCMvowelsAndConsonants.java:30) / 在 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;
  }
}

【问题讨论】:

  • @TimBiegeleisen “我看不出你的代码有问题。” 然后重新检查他的构造函数
  • @Tom Facepalm。随时发布您的答案。

标签: java


【解决方案1】:

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

所以它们应该看起来像:

   public DCMvowelsAndConsonants()
   {
      line = " ";
   }

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

【讨论】:

  • 哈哈哇这些小错误谢谢
  • @DanielCharles 很高兴为您提供帮助。如果对您有所帮助,请随时接受此答案。
【解决方案2】:

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

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

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

【讨论】:

    猜你喜欢
    • 2021-10-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-12
    • 1970-01-01
    • 2020-04-02
    • 2021-08-07
    相关资源
    最近更新 更多