//這個程序將打印在字符串如何刪除所有的字符串
的矢量我希望這個程序打印向量中的所有最短串的所有最短元素的矢量最長的字符串。輸出應該是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