有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java使用我的方法查找字符串中的每个单词

正如标题所示,我正在尝试创建一个方法,可以单独处理字符串中的每个单词。我已经记下了密码,但我不确定它是否正确。所以我做了几个测试,看看打印出来的是否合适。打印完之后,什么都不做,而且是多次尝试。我需要帮助。有人发现我的代码有问题吗

public static String build( String str4, one test){
     Scanner find = new Scanner( System.in);
     String phrase = " ";
     while ( find.hasNext()){
         String word = find.next();
         word = test.change(word);
         phrase += word + " ";

     }
     return phrase;
}

方法更改只是将单词改为pig拉丁语(我的预期目标)

以下是我的主要方法中的简单语句:

 String str4 = "I am fluent in pig latin";
    System.out.println (test.build(str4, test));

我打算让这段代码打印出来:

我爱你,我爱你,我爱你


共 (2) 个答案

  1. # 1 楼答案

    你有:

    Scanner find = new Scanner( System.in);
    

    这意味着你在阅读用户输入

    您也有这个str4参数,但实际上并没有使用它。当您真正打算使用str4参数时,您似乎无意中使用了System.in作为输入字符串源。因此,什么也不会发生,因为find.next()正在等待来自控制台的输入,而不是使用您传入的字符串

    你可能是说:

    Scanner find = new Scanner(str4);
    
  2. # 2 楼答案

    您试图在函数内部获得一些输入,使用Scanner实例,将用户输入作为其构造参数

    要打印要返回的内容,请添加以下行:

    System.out.println (phrase);
    

    在你的返回声明之前

    不过我猜,你是在错误地使用用户输入。 试试这个:

    public static String build( String str4, one test){
     Scanner find = new Scanner(str4);
     String phrase = " ";
     while ( find.hasNext()){
         String word = find.next();
         word = test.change(word);
         phrase += word + " ";
     }
     //Print your phrase here if you want.
     System.out.println(phrase);
     return phrase;
    

    }