-2

我面临一个问题。当我键入一个名称时,例如:“大卫”。它成功终止,但是当我输入名称为“大卫”时,它显示错误。你们对此有什么想法/解决方案吗?

import java.util.Scanner;
public class test {
    public static void main(String args[]) {
        Scanner sc = new Scanner(System. in );
        String name;
        int length;
        char alpha;
        boolean status = true;

        do {
            System.out.print("Enter name : ");
            name = sc.nextLine();
            length = name.length();

            for (int count = 0; count < length; count++) {
                alpha = name.charAt(count);

                if (alpha < 'a' || alpha > 'z')
                    System.out.print("Error");
                status = (true);
            }


        } while (status == false);

    }
}
4

2 回答 2

1

要检查一个字符是否不是字母,您可以使用 -

if(!Character.isLetter(alpha))
    System.out.print("Error");
status = true;
....
...
于 2013-07-20T05:12:06.693 回答
1

你已经检查了

 if(alpha < 'a' || alpha > 'z' )
            System.out.print("Error");
            status = (true);
 }

当你输入'David',其中'D'是大写字母时,它会在你的条件下返回false


97
z 122
D 68的价值

这清楚地表明 D(68) < a (97)

于 2013-07-20T05:05:44.760 回答