当前位置: 首页 > 知识库问答 >
问题:

我需要创建一个允许用户输入任何字符串的程序。程序必须确定字符串中有多少个元音和单词

杜俊爽
2023-03-14

我目前被困在代码的第一个循环上。我很难将字符串中索引处的字符与第一个元音a进行比较(一直在说字符不能被解引用…)。

我只想知道如何正确地比较字符串中的任何字母和任何元音< code>(a,e,I,o,u)。我还想知道我是否可以将字符串中的某个字母与整个数组进行比较,或者我是否必须与每个元音字母进行比较??

import java.util.*;

class StringCount {

   public static void main(String [] args) {

      Scanner input = new Scanner(System.in);
      String user;
      int charCount;
      char[] vowel = {'a', 'e', 'i', 'o', 'u'};
      System.out.println("Please enter any string!");
      user = input.nextLine();
      charCount = user.length();

      for (int i = 0; i < charCount; i++) {
         if(user.charAt(i).equals('a') {

         }
      }

   }

}

共有3个答案

邹锦
2023-03-14

另一种可能的解决方案

    if (Arrays.binarySearch(vowel, user.charAt(i)) >= 0)  {

    }
琴献
2023-03-14

如果你只是想检查你的用户在你的列表中输入一个带有字符的单词,你可以使用 Java.lang.String.contains() 方法和你的 char 列表在循环中

如果你想检查你的用户输入是否是列表中的一个字符,你可以使用Java.lang.String.equal()方法

唐利
2023-03-14

你在这里遗漏了一些东西: a.字符可以是大写或小写。单词分隔器,它们可能是逗号、空格等。

 import java.util.ArrayList;
    import java.util.List;
    import java.util.Scanner;
    public class WaitTest {
        public static void main(String[] args) {
            Scanner input = new Scanner(System.in);
              String user;
              int charCount;
              List<Character> vowels = new ArrayList();
              //add all vowels to list inclusing uppercase 
 a,e,i,o,u,A,E,I,O,U
              vowels.add('a');
              vowels.add('e');

              List<Character> wordSeperators = new ArrayList();
              //add your word seperators here
              wordSeperators.add(' ');
              wordSeperators.add(',');

              System.out.println("Please enter any string!");
              user = input.nextLine();
              charCount = user.length();
               int vowelCount=0,wordCount=0;
              for (int i = 0; i < charCount; i++) {
                 char c= user.charAt(i);
                 if(vowels.contains(c)) {
                     vowelCount++;
                 }else if (wordSeperators.contains(c)){
                     wordCount++;
                 }
              }
            }
    }
 类似资料:
  • 这是我的代码,我做的方式对吗?我有点纠结于用什么来倒数辅音、元音和非字母表。

  • JAVA: 编写一个类,其中构造函数接受一个String对象作为其参数。该类应该有一个方法返回字符串中元音的数量,另一个方法返回字符串中辅音的数量。(空格既不计元音也不计辅音,应该忽略。) 在执行以下步骤的程序中演示该类: 要求用户输入字符串 程序显示以下菜单: a、 计算字符串中元音的数量。 b、 数一数字符串中的辅音数 c、 数一数字符串中的元音和辅音 d、 输入另一个字符串 e、 退出程序

  • 本文向大家介绍Java程序检查字符串中每个元音的出现,包括了Java程序检查字符串中每个元音的出现的使用技巧和注意事项,需要的朋友参考一下 要再次计算字符串中元音的出现次数,请使用java的Map实用工具计算字符串中每个字符的出现次数。将每个元音放在Map中作为键,并将每个键的初始值设置为1,现在将每个字符与map的键进行比较如果字符与键匹配,则将其对应的值增加1。 示例 输出结果

  • 问题内容: 从服务器以UTF-8发送时,我有一个大约500K的JavaScript字符串。如何用JavaScript判断其大小? 我知道JavaScript使用UCS-2,因此每个字符2个字节。但是,这取决于JavaScript实现吗?还是页面编码或内容类型? 问题答案: 值不依赖于实现,根据ECMA-262第三版规范,每个字符代表_UTF-16文本_ 的 单个16位单元 : 4.3.16字符串值

  • 我试图计算每个字符串中的元音,我想根据count变量交换字符串,但我做不到。在接受字符串后,我用toCharArray()函数将其转换为char数组,并将每个字符与小写和大写元音进行比较。 我收到一个错误。编写代码部分的任何帮助都将不胜感激。 输入: 输出:

  • 我试图创建一个表示JSON对象数组的字符串文字,所以我想到了使用字符串插值特性,如下面的代码所示: 现在我想使用逐字字符串,这样我就不必使用反斜杠来转义双引号。因此,通过这个答案,我了解到逐字字符串和字符串插值可以一起使用。所以我改变了我的代码如下: 但它无法编译。如果我的用法有任何错误,或者在这种情况下无法使用C#的逐字字符串功能转义双引号,有人能帮我吗?