私はJavaの初心者です。私はCで授業を受けたので、その考え方から抜け出そうとしています。私が書いているプログラムには、ユーザーが整数nを入力し、その後にn個の単語を入力するセクションがあります。次に、このセクションではそれらの単語を検索して最短の単語を見つけ、それをユーザーに返します。たとえば、入力は次のようになります。
入力: 4つのJavaプログラミングは楽しいです
出力: IS
私が現在持っているコードは間違った単語を返すようです。この場合、「IS」を返す必要があるときに「PROGRAMMING」を返します。多分あなた方全員が私を正しい方向に向けることができると思いました。
int numwords = scan.nextInt();
String sentence = scan.nextLine();
String shortestword = new String();
String[] words = sentence.split(" ");
for (int i = 0; i < numwords; i++){
if (shortestword.length() < words[i].length()){
shortestword = words[i];
}
}
System.out.printf(shortestword);
私が何をしようとしていたかを理解するために、単語を文字列「sentence」に入力し、その文字列を配列「words []」内の個々の単語に分割して、forを実行しようとしました。ループして、長さを配列のエントリと比較することにより、文字列を相互に比較します。ご協力いただきありがとうございます!