java - 读一个单词并打印单词中元音的数量。Java/Netbeans
问题描述
我正在尝试从用户那里读取一个单词并打印该单词中元音的数量。关于如何阅读单词和打印元音数量的任何建议?下面是我的代码。
import java.util.Scanner;
public class CountVowels
{
public static void main(String[] args)
{
Scanner in = new Scanner(System.in);
String word = in.next();
System.out.println("Please enter a word.");
for (int w = 0;w < word.length();w++)
{
String ch = word.substring(i, i + 1);
if ("aeiou".contains(ch))
. . .
}
System.out.println("Vowels: " + "aeiou");
}
}
这是下面的另一个代码,看起来它可以根据我在我的初学者 Java 课程中学到的内容工作,但由于我的扫描仪类的问题,我无法让它在我的平台上工作。
{
String word;
Scanner myinput = new Scanner(System.in);
System.out.println("Please enter a word.");
word = myinput.next();
//This will convert your string to lowercase using toLowerCase() method.
char[] wordc = word.toLowerCase().toCharArray();
int vowels = 0; //This counter will count the vowels in the word.
for(int w = 0;w < word.length();w++) {
if(wordc[w] == 'a' || wordc[w] == 'e' || wordc[w] == 'i' || wordc[w] == 'o' || wordc[w] == 'u') {
vowels++;
}
}
解决方案
这是解决问题的方法。
使用读取输入scanner.nextLine();
将 vowelCounter 初始化为零,'int vowelCounter = 0;"
将字符串转换为 char 数组word.toCharArray()
将元音分配给字符串String vowels = "aeiou";
遍历字符数组并比较您的元音是否包含当前字符,增加计数器
if (vowels.contains(currentChar)){
++vowelCounter;
}
然后打印 vowelCounter 的值。很抱歉我无法发布完整的代码,但我认为了解如何编写代码将有助于您创建一个不同的可行版本。
推荐阅读
- c# - C# 中的实体框架 EDMX 使用 @p__linq__0 隐藏参数值
- reactjs - 如何将 React 与 PowerBI 自定义视觉对象结合使用
- java - 从 JSON 创建的 Java 对象,用新的 JSON 更新相同的对象
- dynamics-365 - PowerApps Common Data Service (CDS) 2.0 连接器不适用于 Dynamics 365 CE 实例
- javascript - 使用 nuxt 异步加载样式
- c - 在函数参数列表中声明 char 指针和 char 数组有什么区别?
- reactjs - 在反应中显示/隐藏路由组件
- amazon-web-services - 使用 Java SDK 查询 AWS SQS 队列 URL
- apache - 我的实时网络服务器上的 bWAPP 向我抛出一个 sql 错误
- javascript - Div 向相反方向滚动