Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/356.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,所以我写代码来计算句子中元音和辅音的数量。但这两种情况的输出都是0 我正在使用removeAll()删除空格、制表符、逗号或句号等。我找不到我的代码有任何错误 import java.util.*; import java.lang.*; public class VowelsConsonantsSentence { public static void main(String args[]) { Scanner sc = new Scanner(Syste

所以我写代码来计算句子中元音和辅音的数量。但这两种情况的输出都是0

我正在使用
removeAll()
删除空格、制表符、逗号或句号等。我找不到我的代码有任何错误

import java.util.*;
import java.lang.*;

public class VowelsConsonantsSentence 
{
    public static void main(String args[]) 
    {
        Scanner sc = new Scanner(System.in);
        System.out.print("Input The Sentence : ");
        String in = sc.nextLine();
        in = in.toLowerCase();
        in = in.replaceAll("\\s+","");
        in = in.replaceAll(".","");
        in = in.replaceAll(",","");
        int vCount=0, count=0;
        for(int i=0;i<in.length();i++)
        {
            char x = in.charAt(i);
            switch(x)
            {
                case 'a' :
                case 'e' :
                case 'i' :
                case 'o' :
                case 'u' : vCount++;
                break;
                default : count++;
            }
        }
        System.out.println("\nNo. of vowels : "+vCount);
        System.out.println("\nNo. of consonants : "+count);
    }
}
import java.util.*;
导入java.lang.*;
公共类元音辅音内容
{
公共静态void main(字符串参数[])
{
扫描仪sc=新的扫描仪(System.in);
系统输出打印(“输入句子:”);
字符串in=sc.nextLine();
in=in.toLowerCase();
in=in.replaceAll(\\s+,“”);
in=in.replaceAll(“.”,“”);
in=in.replaceAll(“,”,”);
int vCount=0,count=0;

对于(int i=0;i,
replaceAll
将regex作为输入,因此
删除所有字符


你可以用
in=in.replaceAll(“[^A-Za-z]+”,“);
删除所有
replaceAll
,”;
,它应该可以工作。

replaceAll
将regex作为输入,因此
删除所有字符


您可以使用
in=in.replaceAll(“[^A-Za-z]+”,“)删除所有
replaceAll
它应该会起作用。

首先删除所有非元音的内容,并计算剩余字符串的长度。然后删除所有非字母的内容,以进行字母计数。显然
辅音计数=字母计数-元音计数

String s = "The quick brown fox jumps over the lazy dog.";
s = s.toLowerCase();
int vowelCount = s.replaceAll("[^aeiou]", "").length();
int letterCount = s.replaceAll("[^a-z]", "").length();
int consonantCount = letterCount - vowelCount;
System.out.printf("Vowels: %d\n", vowelCount);
System.out.printf("Consonants: %d\n", consonantCount);
输出:

Vowels: 11
Consonants: 24

这是通过首先删除所有不是元音的内容并计算剩余字符串的长度来实现的。然后删除所有不是字母的内容以给出字母计数。显然,
辅音计数=字母计数-元音计数

String s = "The quick brown fox jumps over the lazy dog.";
s = s.toLowerCase();
int vowelCount = s.replaceAll("[^aeiou]", "").length();
int letterCount = s.replaceAll("[^a-z]", "").length();
int consonantCount = letterCount - vowelCount;
System.out.printf("Vowels: %d\n", vowelCount);
System.out.printf("Consonants: %d\n", consonantCount);
输出:

Vowels: 11
Consonants: 24

@meisner97如果答案旁边的绿色勾号有帮助,请确保将答案标记为已接受。此外,将来如果您使用调试器或每次替换后只打印值,您可以很容易地锁定导致问题的语句。这样,您甚至可以自己解决问题。@Jaydip确实如此不起作用它将元音和字母的输出都显示为0consonants@meisner97正如您所说。谢谢您的输入。@Ivar这个
+
符号在这里表示什么。我知道它表示多个字符/数字,但它在
[^a-zA-Z]中有什么用途+
@meisner97如果答案旁边的绿色勾号有帮助,请确保将答案标记为已接受。此外,将来,如果您使用调试器或每次替换后只打印值,您可以轻松锁定导致问题的语句。这样,您甚至可以自己解决问题。@Jaydip它不起作用,它将元音和字母的输出都显示为0consonants@meisner97正如您所说。谢谢您的输入。@Ivar这个
+
符号在这里表示什么。我知道它表示多个字符/数字,但它在
[^a-zA-Z]+
中有什么用途谢谢您的输入