gpt4 book ai didi

java - isLetter 方法在 Java 中不起作用

转载 作者:行者123 更新时间:2023-12-02 11:05:33 27 4
gpt4 key购买 nike

每次我写Character.isLetter(4))它突出显示 isLetter...

请帮忙。我正在尝试编写一个程序,您必须告诉年龄才能继续,但是如果您输入字母,则会弹出错误。

这是我的完整代码,但它不起作用。

import java.util.Scanner; 
public class Prmtrs1
{
public static int user_age2;
public static String user_age;
public static void main(String args[]) {

Scanner input = new Scanner(System.in);
Prmtrs2 POblect = new Prmtrs2 ();

System.out.println("Type in your name in here! ");
String name = input.nextLine();

POblect.Hello(name);
System.out.println("");
System.out.println("Enter your age, " + name);
user_age = input.nextLine();
while(user_age.matches("\\d+")) {
System.out.println("enter numbers from 0 to 9");
user_age = input.nextLine();
}
System.out.println("Your age is " + user_age + ", " + name);
int user_age2 = Integer.parseInt(user_age);
if(user_age2 >= 18)
{
System.out.println("So...");
System.out.println("You are eligible to Vote, " + name + "!");
}
else{
System.out.println("So...");
System.out.println("You are not eligible to vote, " + name + "!");
}
}
}

最佳答案

您可能想写 Character.isLetter('4')'4' 是一个 char,而 4 是一个int

Character.isLetter 需要一个 charint codePoint。

您还应该考虑使用正则表达式并执行 s.matches("\\d+") (其中 s 是您的输入字符串)来查看您的字符串是否仅包含的数字。 matches 函数接受正则表达式。

在我刚刚向您展示的示例中,\d 表示“数字”,+ 表示“一个或多个”。

但是如果你想使用Character.isLetter,可以像这样完成:

for(char c : s.toCharArray()) {
if (Character.isLetter(c)) {
return false;
}
}

关于java - isLetter 方法在 Java 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51003737/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com