gpt4 book ai didi

java - 使用不带replaceAll()的循环打印不带元音的UI; java 语

转载 作者:行者123 更新时间:2023-12-01 09:27:38 28 4
gpt4 key购买 nike

我正在尝试获取用户输入并对其进行修改,以便打印不带任何元音的字符串。我已经能够使用以下代码成功完成此操作。

Scanner in = new Scanner(System.in);
System.out.println("Enter a word: ");
String word = in.next();

String newString = word.replaceAll("[aeiouAEIOU]","1");
System.out.printf("%s", newString);

但是,我试图通过使用不使用上述方法的循环来获得相同的效果,replaceAll()。我曾尝试过一次,但逻辑困惑并重新启动。我的最新尝试如下,我不明白为什么它不能正常运行。我将输入一个字符串,如果没有任何错误消息,它不会打印回任何内容。我让它工作的唯一一次是当我使用诸如

之类的东西给它单个字符以在字符串中查找时
if(letter.contains("a"))

如果条件成立,它将打印回一个由 a 组成的字符串,但是,这不适用于任何字符组合,仅适用于单个字符。我的完整代码如下。

import java.util.Scanner;

public class practice
{
public static void main(String[] args)
{
Scanner in = new Scanner(System.in);
System.out.println("Enter a word: ");
String word = in.next();
int i = 0;

while (i < word.length()){
String letter = word.substring(i, (i+1));
if(letter.contains("[bcdfghjklmnpqrstvwxyz]")){
System.out.printf("%s",letter);
}
i++;
}
}
}

我只是想找到一种仅使用条件、循环、UI 以及仅使用 length()、contains() 或 indexOf()、charAt() 和 substring(x,y) 方法来完成此程序的方法。预先感谢您提供的任何帮助,我希望我提供了足够的信息。

这是一些示例输出:

Enter a word: 
Jordan

在我输入单词后,程序停止。

最佳答案

一种方法是将字符串转换为字符数组 toCharArray()然后对比一个案例又添加了一个新的链StringBuilder

 String word = in.next();
StringBuilder bul = new StringBuilder();
for (char arg : word.toLowerCase().toCharArray()) {
switch(arg)
{
case 'a': System.out.println("A");break;
case 'e': System.out.println("E");break;
case 'i': System.out.println("I");break;
case 'o': System.out.println("O");break;
case 'u': System.out.println("U");break;
default:
bul.append(arg);
}
}
System.out.println(bul); //String not Vowels

在您的代码中可能会改变为什么带有 subtring 的选定字符永远不能包含像 "[bcdfghjklmnpqrstvwxyz]"这样的长字符串

if(letter.contains("[bcdfghjklmnpqrstvwxyz]")){...}

对于

if("[bcdfghjklmnpqrstvwxyz]".contains(letter.toLowerCase())){...}

关于java - 使用不带replaceAll()的循环打印不带元音的UI; java 语,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39715710/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com