我正在编写一个程序,它接受一个句子作为输入,创建一个这些单词的数组,并显示一个单词是冗余的还是不冗余的。
如果扫描到"Hello Hi Hello“,程序应该通知用户存在冗余。
public static void main(String[] args)
{
Scanner sc = new Scanner(System.in);
String sentence ;
System.out.println("Enter a sentence :");
sentence = sc.nextLine();
String[] T = sentence.split(" "); //split the sentence at each " " into an array
int i=0, o=0 ; //iterators
boolean b=false; //redundancy condition
for(String s : T) // for each String of T
{
System.out.println("T["+i+"] = "+ s);
while(b) //while there's no redundancy
{
if(o!=i) //makes sure Strings are not at the same index.
{
if(s==T[o])
{
b=true; //redundancy is true, while stops
}
}
o++;
}
i+=1;
}
if(b)
{
System.out.println("There are identical words.");
}
else
{
System.out.println("There are no identical words.");
}
}发布于 2016-01-28 01:06:45
下面是可用的代码-
while(o<T.length && !b)
{
if(o!=i)
{
if(s.equals(T[o]))
{
b=true;
}
}
o++;
}
i+=1;
}发布于 2016-01-28 01:49:33
我刚修好了!
我实际上搞乱了布尔值x),我没有意识到While(false)不能循环,但While(b==false)可以。
boolean b=true;
for(String s : T)
{
System.out.println("T["+i+"] = "+ s);
int o = 0;
while(b && o<T.length)
{
if(o!=i)
{
if(s.compareTo(T[o])==0)
{
b=false;
}
}
o+=1;
}
i+=1;
}谢谢你们!
https://stackoverflow.com/questions/35043316
复制相似问题