Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/331.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
Can';我不明白为什么int在Java中重复_Java - Fatal编程技术网

Can';我不明白为什么int在Java中重复

Can';我不明白为什么int在Java中重复,java,Java,我正在创建一个简单的Java程序,它在主类中请求一个字符串(输入),然后打印出字符串中有多少元音(int count)和辅音。元音的数量工作得很好,但是辅音的数量增加了一倍,所以根据我的程序,字符串“James”有2个元音和6个辅音 public class counter { vowels p1 = new vowels(); public int con = 0; public int count() { String input = p1.getInput();

我正在创建一个简单的Java程序,它在主类中请求一个字符串(输入),然后打印出字符串中有多少元音(int count)和辅音。元音的数量工作得很好,但是辅音的数量增加了一倍,所以根据我的程序,字符串“James”有2个元音和6个辅音

public class counter {

vowels p1 = new vowels();

public int con = 0;

public int count() {

    String input = p1.getInput();

    int i = 0;
    int count = 0;

    while (i < input.length()){

        if (input.charAt(i) == 'a' || input.charAt(i) == 'e' || input.charAt(i) == 'i' || input.charAt(i) == 'o' || input.charAt(i) == 'u') {

        count++;

        } else if (input.charAt(i) != ' ') {
            con++;
        }
    i++;
    }

    return count;

}

public int con() {
    return con;
}
}
公共类计数器{
元音p1=新元音();
公共int con=0;
公共整数计数(){
字符串输入=p1.getInput();
int i=0;
整数计数=0;
而(i
您正在使用一个实例成员
con
来计算辅音,并且您没有在
count
方法的开头初始化它,因此对该方法的多次调用将导致无效计数。

似乎您正在使用 int con=0

用于辅音计数 因此,与其使用

else if (input.charAt(i) != ' ') {
        con++;
    }
简单使用
else{
con++;
}

备选方案: 从字符串长度中减去元音计数
'com=P1.length()-count;'

尝试在方法“count”的开头将变量con设置为零

我希望它能起作用。

charch;
char ch;
for(int i = 0; i < str.length(); i ++)
        {
            ch = str.charAt(i);

            if(ch == 'a' || ch == 'A' || ch == 'e' || ch == 'E' || ch == 'i' || 
            ch == 'I' || ch == 'o' || ch == 'O' || ch == 'u' || ch == 'U')
                count ++;
            else 
                con;
       }
对于(int i=0;i
当你在我的代码

中解决了元音的问题时,你点头考虑了这个问题。
希望我的代码在这方面对您有所帮助,谢谢。快乐编码

请展示您的主要方法此编程是如何运行的?具有相同名称的变量和方法!!!!你能展示整个节目吗?非常感谢。我只是做了一个临时int,我在该方法中初始化了它,然后在while循环之后设置con=temp。
char ch;
for(int i = 0; i < str.length(); i ++)
        {
            ch = str.charAt(i);

            if(ch == 'a' || ch == 'A' || ch == 'e' || ch == 'E' || ch == 'i' || 
            ch == 'I' || ch == 'o' || ch == 'O' || ch == 'u' || ch == 'U')
                count ++;
            else 
                con;
       }