这是一个面试问题。 您被告知从用户&输入字符串输入,输出一个由空格分隔的字符串(或字符串数组),其中有意义的单词与另一个字符串(称为Dictionary)匹配。你有一个字典功能来检查单词是否存在。
例如:
如果Input is "howareyou" Output should be "how are you"
。
其中单词'how','are','you'存在于词典字符串中。如何将Java中的一个字符串的单词与另一个字符串的单词进行比较,并将匹配的单词分开?
再举一个例子:
Input: "somethingneedstobedone Output: "something needs to be done
(假设词典有像的东西的话,需要到,来,做
我没有得到什么时候做ķ++如果没有匹配。 。
我尝试代码:
public class Sample1 {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
int i,j,k,len;
String[] dict= {"how","are","you","something","needs","to","be","done"};
//StringBuilder str=new StringBuilder("howareyou");
StringBuilder str=new StringBuilder("somethingneedstobedone");
len=str.length();
for(i=0,j=0,k=0;i<len;i++)
{
for(j=i+1;j<len;j++)
{
if(dict[k].toString().equals(str.substring(i, j)))
{
str.insert(j, " ");
k++;
}
}
}
System.out.println(str);
sc.close();
}
的注出的C Ase运作良好,但帮助我得到第二个案件的工作。
请包括你已经尝试的代码。 –
另外,目前还不清楚字典是如何表示的。 – RealSkeptic
'something'可以解析为'something'和'something'。 – Antoniossss