我正在创建一个以句子作为输入的程序,创建这些单词的数组并显示一个单词是多余的还是不是。
如果扫描“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.");
}
}
答案 0 :(得分:0)
这是工作代码 -
while(o<T.length && !b)
{
if(o!=i)
{
if(s.equals(T[o]))
{
b=true;
}
}
o++;
}
i+=1;
}
答案 1 :(得分:0)
我刚修好了!
我实际上和布尔人混在一起x)我没有意识到虽然(假)不能循环但是(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;
}
谢谢你们!