Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/320.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 我的方法能找到字符串中的每个单词吗_Java - Fatal编程技术网

Java 我的方法能找到字符串中的每个单词吗

Java 我的方法能找到字符串中的每个单词吗,java,Java,正如标题所示,我正在尝试创建一个方法,该方法将单独处理字符串中的每个单词。我已经记下了密码,但我不确定它是否正确。因此,我运行了几个测试,看看它是否正确打印出来。经过多次尝试,完全没有打印出来。我需要帮助。有人能发现我的代码有问题吗 public static String build( String str4, one test){ Scanner find = new Scanner( System.in); String phrase = " "; while

正如标题所示,我正在尝试创建一个方法,该方法将单独处理字符串中的每个单词。我已经记下了密码,但我不确定它是否正确。因此,我运行了几个测试,看看它是否正确打印出来。经过多次尝试,完全没有打印出来。我需要帮助。有人能发现我的代码有问题吗

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));
我打算让这段代码打印出以下内容:

你有:

Scanner find = new Scanner( System.in);
这意味着您正在读取用户输入

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

你可能是说:

Scanner find = new Scanner(str4);

您尝试使用
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;

}

嗯,您没有任何打印报表。是什么让你认为这个代码应该打印任何东西?我没有发布检查的代码,因为我假设这就是你检查的方式。。。我将请包括样本输入和预期输出作为well@JackNguyen类1是什么/类1中的
change()
方法做了什么?如果它没有返回您所想的内容,则发布的代码只会将空格串在一起。您是对的,此便条非常有用,谢谢,感谢您勇敢地帮助您找到类似的答案,非常感谢。完美。我设法把它缩小到代码范围,甚至没有进入循环,所以我认为它必须是使用我创建的scanner对象的while long。Str4非常有意义。谢谢。我明白了,我完全理解这一点。最近,我只使用了扫描仪,要求用户输入一些东西,比如聊天机器人。但这是我第一次尝试以另一种方式使用它。因此,将其更改为str4输入更有意义。