我的方法是否用于查找字符串中的每个单词
正如标题所暗示的,我正在尝试制作一个方法,它将单独处理字符串的每个单词。我已经得到了代码,但我不确定它是否正确。所以我跑了几次测试,看它是否适当地打印出来。经过多次尝试,绝对没有打印出来。我需要帮助。任何人都可以找到我的代码错了吗?我的方法是否用于查找字符串中的每个单词
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;
}
方法改变只是改变了拉丁语(我的目标)。
下面是简单的线条在我的主要方法:
String str4 = "I am fluent in pig latin";
System.out.println (test.build(str4, test));
我打算这个代码打印出来的:
Iyay amyay uentflay inyay igPay atinLay
您有:
Scanner find = new Scanner(System.in);
这意味着您正在阅读用户输入。
你也有这个str4
参数,但你并没有真正使用它。当你真的想使用你的str4
参数时,你似乎无意中使用System.in
作为输入字符串源。因此,没有任何反应,因为find.next()
从控制台等待输入,而不是使用您在传递的字符串
你大概的意思是:
Scanner find = new Scanner(str4);
我明白了,我完全理解这一点。最近我只使用扫描仪询问用户输入的东西,像聊天的机器人。但这是我第一次尝试以另一种方式使用它。所以将其改为str4输入更有意义。 – 2015-03-03 04:04:08
你试图让你的函数里面的一些输入,使用Scanner
实例,给用户输入作为其构建参数。您return语句之前
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;
}
现在好多了。 – 2015-03-03 02:42:51
你是对的,这个笔记是有用的,谢谢,并感谢勇敢的帮助类似的答案给你,真的很感激。 – 2015-03-03 02:43:23
完美。我设法缩小了代码,甚至没有进入循环,所以我认为它必须是使用我创建的扫描仪对象的while long的东西。 Str4很有意义。谢谢。 – 2015-03-03 04:05:17
好了,你没有任何打印报表。是什么让你认为这个代码*应该*打印任何东西? – azurefrog 2015-03-03 02:25:15
我没有发布代码检查,因为我认为你是如何检查...我将编辑 – 2015-03-03 02:26:35
请包括样本输入和预期输出以及 – Baby 2015-03-03 02:27:25