使用扫描仪提示用户输入,直到用户以<ctrl d =“”> </ctrl>终止

时间:2014-05-26 23:23:26

标签: java java.util.scanner string-split

我正在编写一个名为NameList.java的小型Java应用程序。它应该提示字符分割字符串。 然后应该提示输入名称列表,每行一个,直到用户终止。现在这个名字将是一个长度为2的简单名称 &#34;名字姓氏&#34;

在阅读每个名字后,程序应将名称显示为&#34;姓氏,名字和#34; (例如,&#34;史密斯,约翰&#34;)。如果他们的姓氏出现在分开的信件之前或者以分开的信件开头,或者他们以其他方式去B楼B厅,那么应该报告该人去A楼A大厅。

我不知道为什么当我运行我的代码时,我没有得到持续的提示?任何原因为什么?谢谢大家的时间和回应。

import java.util.Scanner;

public class Namelist {

    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        System.out.println("Enter Split String ...");
        char  splitter = in.nextLine().toLowerCase().charAt(0);
        String checker;

        while(in.hasNext()) {
            System.out.println("Enter a name to check ...");
            String s = in.next();
            String[] tokens = s.split(" ");

            if (tokens[0].contains(Character.toString(splitter).toLowerCase())
                || tokens[1].toLowerCase().charAt(0)== splitter) {

                System.out.printf("%s, %s : Lecture Room A." ,tokens[1],tokens[0]);
            } else {
                System.out.printf("%s, %s : Lecture Room B.",tokens[1],tokens[0]);
            }

            in.close();
        }
    }

}

0 个答案:

没有答案