2018/12/07 L 1-035バレンタインデーJava

4238 ワード

タイトルは簡単ですが、ずっと通過していない点があります。最後に「.」を直接入力すると考えていないことが分かりました。つまりLinked List容器内に元素がない場合です。
この問題が私に与えた啓示は、簡単な問題を書くには十分に注意して、考慮すべき状況をよく考えてこそ、点数を全部手に入れることができるということです。
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.LinkedList;
import java.util.Queue;

public class Main {

    public static void main(String[] args) throws Exception{
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        Queue linkedlist = new LinkedList();
        while(true) {
            String str = br.readLine();
            if(str.equals(".")) {
                break;
            } else if(str.equals("")) {
                break;
            } else if (str.length() > 10) {
                break;
            } else {
                linkedlist.add(str);
            }
        }
        if (linkedlist.isEmpty()) {
            System.out.print("Momo... No one is for you ...");
            return;
        }
        if (linkedlist.size() == 1) {
            System.out.print("Momo... No one is for you ...");
            return;
        } else if (linkedlist.size() >= 2 && linkedlist.size() < 14) {
            linkedlist.remove();
            String name = linkedlist.poll();
            System.out.print(name + " is the only one for you...");
            return;
        } else {
            linkedlist.remove();
            String second_name = linkedlist.poll();
            for(int i=0; i<11; i++) {
                linkedlist.remove();
            }
            String fifteen_name = linkedlist.poll();
            System.out.print(second_name+" and "+fifteen_name+" are inviting you to dinner...");
        }

    }

}
 
転載先:https://www.cnblogs.com/huangZ-H/p/10087118.html