Java 正在使用charAt()打印用户输入?

Java 正在使用charAt()打印用户输入?,java,char,user-input,charat,Java,Char,User Input,Charat,我是java初学者,在用charAt()打印用户输入时遇到了麻烦。我需要创建一个程序,它接受userinput并在文本中的元音前添加“op”。(例如:Userinput->“beauty”将被翻译为“bopeautopipfopul”),我正在努力思考如何写这个。到目前为止,我已经想出了这一点 import java.util.Scanner; public class oplang { static Scanner userinput = new Scanner(System.in); pub

我是java初学者,在用charAt()打印用户输入时遇到了麻烦。我需要创建一个程序,它接受userinput并在文本中的元音前添加“op”。(例如:Userinput->“beauty”将被翻译为“bopeautopipfopul”),我正在努力思考如何写这个。到目前为止,我已经想出了这一点

import java.util.Scanner;
public class oplang {
static Scanner userinput = new Scanner(System.in);
public static void main(String[] args) {

    char c ='a';
    int n,l;

    System.out.println("This is an Openglopish translator! Enter a word here to translate ->");
    String message = userinput.nextLine();
    System.out.println("Translation is:");
    l = message.length();

    for (n=0; n<l; n++);
    {
        c = message.charAt();
        if (c != ' ');
    {
        System.out.println(" ");
    }
    c++;
}
}}
import java.util.Scanner;
公共类OPLAN{
静态扫描仪用户输入=新扫描仪(System.in);
公共静态void main(字符串[]args){
char c='a';
int n,l;
System.out.println(“这是一个Openglopish翻译器!在这里输入一个单词来翻译->”;
String message=userinput.nextLine();
System.out.println(“翻译为:”);
l=message.length();
对于(n=0;n我将使用正则表达式,对所有元音进行分组-将其替换为
op
,然后再进行分组(如果不区分大小写,则首先使用
(?I)

如果您不能使用正则表达式,那么我更喜欢为每个
循环使用一个
,以及类似的内容

System.out.println("Translation is:");
for (char ch : message.toCharArray()) {
    if ("aeiou".indexOf(Character.toLowerCase(ch)) > -1) {
        System.out.print("op");
    }
    System.out.print(ch);
}
System.out.println();
而且,如果您绝对必须使用
charAt
,可以这样编写

System.out.println("Translation is:");
for (int i = 0; i < message.length(); i++) {
    char ch = message.charAt(i);
    if ("aeiou".indexOf(Character.toLowerCase(ch)) > -1) {
        System.out.print("op");
    }
    System.out.print(ch);
}
System.out.println();
System.out.println(“翻译为:”);
对于(int i=0;i-1){
系统输出打印(“op”);
}
系统输出打印(ch);
}
System.out.println();

c=message.charAt(n);
如果代码需要添加
“op”
,为什么我在代码中找不到一个
op
?——为了让你的
For
如果
语句起作用,请删除这两行末尾的
。很好,但我觉得作业需要使用opcharAt@BrunoDelor闻起来像是一项措辞拙劣的任务。非常感谢@ElliottFrisch!
System.out.println("Translation is:");
for (int i = 0; i < message.length(); i++) {
    char ch = message.charAt(i);
    if ("aeiou".indexOf(Character.toLowerCase(ch)) > -1) {
        System.out.print("op");
    }
    System.out.print(ch);
}
System.out.println();