正如标题所示,我试图制作一个单独处理字符串每个单词的方法。我已经删除了代码,但我不确定它是否正确。所以我运行了几个测试,看它是否打印出来。多次尝试后,绝对没有打印出来。我需要帮助。任何人都可以发现我的代码有什么不对吗?
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 latin(我的预期目标)。
以下是我的主要方法中的简单行:
String str4 = "I am fluent in pig latin";
System.out.println (test.build(str4, test));
我打算让这段代码打印出来:
Iyay amyay uentflay inyay igPay atinLay
答案 0 :(得分:4)
您尝试使用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;
}
答案 1 :(得分:2)
你有:
Scanner find = new Scanner( System.in);
这意味着您正在阅读用户输入。
您还有这个str4
参数,但实际上并没有使用它。当您真正打算使用System.in
参数时,您似乎无意中使用str4
作为输入字符串源。因此,没有任何反应,因为find.next()
正在等待来自控制台的输入而不是使用您传入的字符串。
你可能意味着:
Scanner find = new Scanner(str4);