//这个程序将打印在字符串如何删除所有的字符串
的矢量我希望这个程序打印向量中的所有最短串的所有最短元素的矢量最长的字符串。输出应该是hello,test,JAVA
。最后一个词没有被删除。任何人都可以帮忙,因为条件很清楚,我想。如果长度相同,则应将其删除。
import java.util.Vector;
class printAllSmallInVectorOfString
{
public static void main(String[] args)
{
Vector<String> v=new Vector();
v.addElement("hello");
v.addElement("test");
v.addElement("phytons");
v.addElement("JAVA");
v.addElement("Program");
v.addElement("ultrons");
String largest=""; // define largest
for(int i=0 ; i < v.size() ; i++)
{
// checks if first element is longer
if(largest.length() < v.elementAt(i).length())
{
// largest stores the string
largest=v.elementAt(i);
}
// condition for elements of same length
else if(v.elementAt(i).length() == largest.length())
{
System.out.println("The largest element so far is " + largest + " at index " + v.indexOf(largest));
System.out.println(v.elementAt(i) + " at index " + v.indexOf(v.elementAt(i)) + " is the same length as the largest element " + largest + "\n");
// removes second element which is equal with longest
v.removeElementAt(i);
}
}
// removes longest element
v.removeElementAt(v.indexOf(largest));
for(String z : v)
System.out.println(z);
}
}
不要使用'Vector',它已被弃用。 –
是的我知道,但我只做这个,因为即将在几周内完成考试,在学习指南中有一个问题要求我们这样做,以实际返回所有最短字符串的向量 –
您的逻辑有缺陷。如果要打印矢量中最短的字符串,请首先使用一个确定最短字符串的循环,然后使用另一个循环删除所有较长的元素。 – Veluria