【问题标题】:While Loops in Java project: Vowel Extraction [closed]Java项目中的while循环:元音提取[关闭]
【发布时间】:2012-09-26 18:01:32
【问题描述】:

我的 Java 类遇到了一个问题,我不知道该如何解决。我的教授几乎没有讲过循环。我不知道如何解决这个问题。

这是项目目标:

读取一个字符串并打印出该字符串中包含的所有元音。

元音是 A E I O U a e i o u。

输入:s的值,一个字符串

输出:包含 s 中所有元音的字符串, 按它们在 s 中出现的顺序

public class GetVowels
{
    public static void main(String[] args)
    {
        String r = "";

        Scanner in = new Scanner(System.in);
        String s = in.nextLine();

        System.out.println(r);
    }
}

【问题讨论】:

标签: java loops


【解决方案1】:

一些想法:

  • 存储要删除的所有元音的列表
  • 将所有内容转换为一种情况(toUpperCase()toLowerCase()
  • 遍历每个字符,测试它们是否与正在寻找的元音相等
  • 如果匹配,记录匹配的那个

关于循环的一些指导,特别是关于迭代字符串的指导:

https://stackoverflow.com/a/2451660/101095

for-each 字符串中每个字符的最简单方法是使用 toCharArray():

for (char ch: "xyz".toCharArray()) {
}

【讨论】:

  • 我猜这个操作在使用循环时遇到了问题。或者换句话说:他对循环一无所知......
  • @Fildor - 他说“我的教授几乎没有覆盖循环”。让我们和他的教授谈谈这个……不过,循环是如此重要。 OP需要弄清楚
  • :) 同意。至少他可以给出一个提示,去哪里看。
  • 我可以写一个精确的解决方案,但这会减少他学习的机会......这才是真正的目标。如果他有完美的解决方案但不知道如何编写循环,他的教授也可能会非常好奇。
  • 你可以尝试String.equalsIgnoreCase(),而不是全部转换为小写或大写,也许它更优雅一点。
【解决方案2】:

你可能想要的是一个“for”循环:http://docs.oracle.com/javase/tutorial/java/nutsandbolts/for.html

您需要输入的长度:String.length() 作为循环的上限。 请记住,Java 字符串的索引从 0 开始!

然后在循环中逐个字符地检查。

【讨论】:

  • 谢谢,巴兹。正准备做同样的事情......
猜你喜欢
  • 1970-01-01
  • 2017-04-27
  • 2018-08-14
  • 1970-01-01
  • 2015-04-24
  • 2016-03-14
  • 2014-03-22
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多