java - 如何在 JAVA 中编写一个连续(无限循环)程序来验证元音?
问题描述
编写一个程序,要求用户从键盘输入元音。如果输入的字符是元音,则显示“OK”;如果它不是元音,则显示错误消息。一定要允许大写和小写元音。该程序将继续执行,直到用户键入“!”。
我已经编写了程序,但我需要它来循环。我写了一个代码,它只接受一个输入,我不知道我应该用什么来输入 char。
Scanner input = new Scanner(System.in);
System.out.println("Enter an alphabet between a to z; Enter ! to stop");
int myChar;
myChar = input.nextInt();
while (myChar <= 'z') {
if (myChar == 'a' || myChar == 'e' || myChar == 'i' ||myChar == 'o' || myChar == 'u' ) {
System.out.println(myChar + " OK");
} else {
System.out.println(myChar + " is not vowel");
}
}
解决方案
您快到了 :)
您犯的一个小错误是您将扫描仪限制为只能读取整数。
您还将 myChar 声明为 int。由于它是一个字符,您可以像这样声明它:
char myChar = input.next().charAt(0);
扫描仪有很多功能,有些是特定于某些变量类型的
.nextInt()
只会读取整数。
nextDouble()
.will read doubles
.nextLine()
将读取到当前行的末尾
因此,正如我上面提到的,您可以简单地使用.next().charAt(0)
推荐阅读
- laravel - Laravel在控制器内部调用时返回的API资源中不存在新属性
- c# - 如何检查最后一次自动重连是否完成?
- android - 无法在活动中实例化 BaseExpandableListAdapter() 类
- python - 在outllook Python中发生按钮/链接/另一个事件后显示新的消息窗口
- html - CSS - 如何水平对齐两个列表中的列表元素并排
- python - keras 人脸识别准确率不超过 50%
- javascript - 我需要找到总工资,即佣金和工资的总和(JS)
- next.js - 图片未加载 NextJS 图片 403 错误
- asp.net-mvc - 允许在 Visual Studio 中对方法参数进行 ctrl+click 导航
- android - 如何单独/单独对齐行内的子可组合项?