最近、プログラミングをもっと理解するためにコンピュータサイエンスコースを始めましたが、ArrayListsに関するラボでは障害が発生しているようです。このプログラムの目的は、x個の文字列をArrayListに入れ、その結果を降順で出力することです。ArrayList内の文字列の長さで配列リストをソートする方法
例:ゼブラ、シカ、キリン 鹿
結果:キリン、シマウマ、鹿
私はオンラインの周りを見て、ArrayListのコンパレータを使用した例をいくつか見つかりましたが、私たちの教授は、私たちがそれをやりたいました最大の単語をフィルタリングして印刷して削除し、すべての単語が印刷されるまでそのループを続行します。ここで
は、これまでの私のコードです:
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
int length = 0;
String longest = "";
String currentWord = "";
ArrayList <String> DescendArray = new ArrayList<String>();
System.out.println("What would you like to add to the list?");
String userInput = input.next();
while(!userInput.equals("d"))
{
DescendArray.add(userInput);
userInput = input.next();
}
for (int i=0; i < DescendArray.size(); i++)
{
if (DescendArray.get(i).length() > longest.length())
{
currentWord = DescendArray.get(i);
if (currentWord.length() > longest.length())
{
longest = currentWord;
length = longest.length();
}
}
for (int j=1; j < DescendArray.size() -1 ; j++)
{
if (DescendArray.get(j - 1).length() > longest.length())
{
DescendArray.remove(j - 1);
}
System.out.println(longest + " " + length);
}
}
}
}
私は私のエラーは、内部ループのどこかにあると仮定していますが、私はそれがどんなに多くの仕事しないことを得るように見えることはできません私が使用するさまざまなバリエーション。
「私は私のエラーがどこかに内部ループであると仮定しています」 - エラーとは何ですか?コンパイルしていない、例外を投げている、または間違った結果を出していますか? – resueman
コードは罰金コンパイル、ここでの例入力と出力リレーです: 入力:キリン、カバ、シマウマ 出力:キリン、キリン、キリン – Nare
それは言葉を繰り返して削除する必要がありますか?あなたの例では、鹿は出力に一度だけ書き込まれます。 –