Java 循环字符
我面临一个问题。当我键入诸如“david”之类的名称时。它成功终止,但当我输入名称为“David”时,它显示一个错误。你们对此有什么想法/解决方案吗Java 循环字符,java,for-loop,char,character,Java,For Loop,Char,Character,我面临一个问题。当我键入诸如“david”之类的名称时。它成功终止,但当我输入名称为“David”时,它显示一个错误。你们对此有什么想法/解决方案吗 import java.util.Scanner; public class test { public static void main(String args[]) { Scanner sc = new Scanner(System. in ); String name; int leng
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);
}
}
import java.util.Scanner;
公开课考试{
公共静态void main(字符串参数[]){
扫描仪sc=新的扫描仪(System.in);
字符串名;
整数长度;
炭α;
布尔状态=真;
做{
系统输出打印(“输入名称:”);
name=sc.nextLine();
length=name.length();
对于(int count=0;count'z')
系统输出打印(“错误”);
状态=(真);
}
}while(status==false);
}
}
您已经检查了
if(alpha < 'a' || alpha > 'z' )
System.out.print("Error");
status = (true);
}
if(alpha<'a'| alpha>'z')
系统输出打印(“错误”);
状态=(真);
}
当您输入'David'时,其中'D'是大写字母,那么它将返回false和您的条件
a 97
z122
D 68
这清楚地表明D(68)是要检查,如果字符不是字母,可以使用-
if(!Character.isLetter(alpha))
System.out.print("Error");
status = true;
....
...
计算机能识别大写和小写之间的差别,就像大多数人一样。请不要误导运算。这与ASCII无关。请指向Unicode代码点列表。