当前位置: 首页 > 知识库问答 >
问题:

验证输入仅为字符串和数字Java[重复]

孟乐逸
2023-03-14

我是一个学生,我有一个小问题验证输入。

String name;
System.out.println("Enter name:");
name = keyboard.nextLine();
//If name contain other than alphabetical character print an error

double number;
System.out.println("Enter number:");
name = keyboard.nextDouble();
//If number contain other than number print an error

我试过的是把字符串解析成double的测试,但我做不到。我不知道如何测试双倍是否只是数字。

请给我一个我该做什么的线索。

共有2个答案

潘兴朝
2023-03-14

您可以循环访问字符串的每个字符,并使用character.isalphabetic(char)检查它是否不是字母:

Scanner keyboard = new Scanner(System.in);
System.out.println("Enter name:");
String name = keyboard.nextLine();

for (char c : name.toCharArray()) {
    if (!Character.isAlphabetic(c)){
        System.out.println("INVALID");
        break;
    }
}

要只接受数字,您可以使用character.isdigit(char)函数执行类似的操作,但请注意,您必须将输入作为string而不是double读取,或者作为double获取输入,并使用double.ToString(d)将其转换为string

严瑞
2023-03-14

您可以使用正则表达式来检查输入是否与您的约束匹配,如下所示:

String name;
System.out.println("Enter name:");
name = keyboard.nextLine();
if (!name.matches("[a-zA-Z_]+")) {
    System.out.println("Invalid name");
}
String number;
System.out.println("Enter number:");
number = keyboard.nextLine();
if (!number.matches("[0-9]+")) {
    System.out.println("Invalid number");
}

这里有一个学习正则表达式的很好的教程。

 类似资料:
  • 问题内容: 我是这个C ++世界的新手,正在尝试为数字密码编写输入验证功能。这是我到目前为止所得到的: 对于不正确的值,它工作得很好,但在有效输入时不会中断循环。知道我在这里缺少什么吗?干杯!! James Kanze脚本的ErroR: 新代码: 使用 和 验证作为字符串 感谢所有人(尤其是James Kanze)的帮助。这件事在这里很有效。 那里还有进一步改进的空间吗?干杯!! 问题答案: 这看

  • 在PHP中,我需要检查一个字符串是否为以下格式: 其中x、y和z是整数。因此,字符串包含3个整数,由2个破折号分隔,规则如下: 验证这一点最简单的方法是什么?

  • 问题内容: 因此,我几乎搜索了单词“ string”,“ python”,“ validate”,“ user input”等等的每个排列,但是我还没有找到一种适合我的解决方案。 我的目标是提示用户是否要使用字符串“ yes”和“ no”进行另一笔交易,我认为字符串比较在Python中是一个相当简单的过程,但是有些不起作用对。我使用的是Python 3.X,据我所知,输入应使用字符串而不使用原始输

  • 这是我刚接触Python时就一直在阅读的一本书中的一些代码……这一部分按它应该的方式工作 我的困境是…我需要验证输入是什么…因此,如果用户输入的是一个字符串(比如“五”而不是数字),而不是q或数字,它会告诉他们“很抱歉,“五”是无效的。请重试…然后它会再次提示用户输入。我是Python新手,一直在为这个简单的问题绞尽脑汁 *更新**因为我没有足够的积分来为我自己的问题添加答案,所以我在这里发布这个

  • 我正在苦于一个程序,它让用户在两种颜色之间进行选择,要么输入全色(不区分大小写),要么输入颜色的第一个字母(不区分大小写),这取决于他们输入的颜色,它会自动将另一个分配给不同的变量。我的两个选项是蓝色和绿色,蓝色似乎工作良好,但当我输入绿色或g时,方法不断要求我输入一个新的输入。这里是我的程序的一个片段,处理颜色分配。 我基本上是创建一个while循环,确保用户选择其中一个颜色选项,并创建一个方法

  • 我的问题很简单。有什么区别-