我是编程的新手,如果输入s是pangram或不是pangram,则尝试编写一个脚本来输出包含pangram的行。编译脚本时,出现错误“解析时到达文件末尾”。我相信我的括号是平衡的。任何帮助将不胜感激。

import java.util.*;

class Main {
    public static void main(String[] args) {

        boolean flag = false;
        Scanner key = new Scanner(System.in);
        String s = key.nextLine();
        String upperCaseStr = s.toUpperCase();

        for(char alphabet = 'A'; alphabet <='Z'; alphabet++) {
            if(upperCaseStr.indexOf(alphabet)==-1){
                flag=true;
                break;
            }
        }
        if (flag){
            System.out.print("not ");
        }
        System.out.println("pangram");
    }
}

最佳答案

如果要继续进行多个输入,请尝试以下操作:

import java.util.*;

class Main {
    public static void main(String[] args) {
        boolean continue = true;
        while (continue){
            boolean flag = false;
            Scanner key = new Scanner(System.in);
            String s = key.nextLine();
            String upperCaseStr = s.toUpperCase();
            //if (upperCaseStr.trim() == "QUIT"){
            //    continue = false;
            //} -> don't compare Object's values by their references
            continue = "QUIT".equals(s.toUpperCase());
            for(char alphabet = 'A'; alphabet <= 'Z'; alphabet++) {
                if(upperCaseStr.indexOf(alphabet)==-1){
                    flag=true;
                    break;
                }
            }
            if (flag){
                System.out.print(s + " is not a pangram");
            }
            else
                System.out.println(s + " is a pangram");
        }
    }
}


尽管您需要做一些事情来打破while循环,例如查找用户类型是否已退出,但应该有所帮助。

[编辑]添加了quit子句

07-25 23:49