首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Pangram检测器无法识别每一个pangram

Pangram检测器无法识别每一个pangram
EN

Stack Overflow用户
提问于 2016-09-21 18:36:20
回答 1查看 95关注 0票数 0

我用Java编写了一个潘格拉姆检测器。

一些测试案例给出了错误的答案,例如:“我们迅速判断古董象牙扣下一个奖项”。

代码语言:javascript
运行
复制
public class Solution {

    public static void main(String[] args) {
        /* Enter your code here. Read input from STDIN. Print output to STDOUT. Your class should be named Solution. */
        Scanner scan=new Scanner(System.in);
        String s=scan.nextLine();
        s.toLowerCase();
       if(s.length()<26){
           System.out.println("not pangram");
           System.exit(1);
       }
        char arr[]=s.toCharArray();
        int counter=0;
        char c='a';
        for(c='a';c<='z';c++){
            for(int i=0;i<arr.length;i++){
                if(arr[i]==c){
                    counter++;
                    break;
                }
            }
        }
        if(counter==26){
            System.out.println("pangram");
        }
        else{
            System.out.println("not pangram");
        }

    }
}
EN

回答 1

Stack Overflow用户

发布于 2016-09-21 18:38:41

代码语言:javascript
运行
复制
s.toLowerCase();

应该是

代码语言:javascript
运行
复制
s = s.toLowerCase();

因为字符串是不可变的,所以toLowerCase()返回一个新的String,并且不更改原始的String

您的代码未能检测到输入"We promptly judged antique ivory buckles for the next prize"的Pangram,因为您的循环测试了原始输入String而不是它的小写版本,并且在原始String中没有出现w

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39624133

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档