下面是10个名字,然后使用系统打印出来。出来稍后打印。我在下面有一个if语句,当我输入一个数字时,它会警告我“不要输入数字”。
问题是,在警告提示后,我输入了10个名字,但数字打印出来作为数组中的第一个项目?然后把名字打印出来?
import java.io.*;
public class Input {
public static void main(String args[]) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String[] myarray = new String[10];
System.out.println("Enter a 10 names");
for (int i = 0; i < 10; i++) {
myarray[i] = br.readLine();
if (!myarray[i].matches("[a-zA-Z_]+")) {
System.out.println("Invalid name,please do not enter numbers");
}
}
System.out.println("Here are your names");
for (int i = 0; i < 10; i++) {
System.out.println(myarray[i]);
}
}
}
问题是,当你拒绝一个值时,你在增加循环计数器,就好像你已经接受了它一样。
与其将输入写入数组,不如先检查它是否有效:
int i = 0;
while (i < 10) {
String line = br.readLine();
if (line.matches("[a-zA-Z_]+") {
myarray[i++] = line;
} else {
System.out.println("Invalid name");
}
}
请注意,i
仅在将值写入数组时递增,并且而
优先于用于
,因为迭代次数未知。
导入java.util.Scanner; 公开课POD1 { 更新 代码现在确实超过了4个字母单词,但即使单词以d开头,它也不会打印出大的d,即使它以d开头
如何验证只有2位数字的输入数字,并允许用户使用JQuery输入点数字? 用户可以输入0到99个数字和点数字 比如( 0.1(3位) 3.14(4位数字) 98.1212178623445243(更多数字) 等......) https://jsfiddle.net/kwcft9bq/ 我试着用 但最后还是不行 有什么想法吗???非常感谢。
问题内容: 我是从记录用户输入使用。我需要验证输入内容,例如: 必须为非负数 它必须是字母 …等等 最好的方法是什么? 问题答案: 示例1:验证正整数 这是一个用于int从输入中验证肯定的简单示例。 结果: 请注意,与更详细组合相比,使用起来要容易得多。通过合同,一个 保证,如果它,然后将安静地给你int,并不会引发任何。 示例2:同一令牌上有多个 请注意,上面的代码段包含一个语句,以使Scann
我试图找到一个完整的模式列表,用于通过HTML5表单验证各种类型的输入,特别是、、等等,但我找不到任何模式。目前,这些输入验证的内置版本远非完美(甚至不检查输入的内容是否是电话号码)。所以我想知道,我可以使用哪些模式来验证用户在输入中输入了正确的格式? 以下是一些默认验证允许不允许的输入的例子: 这个字段允许在@后面有不正确域的电子邮件,它允许地址以破折号或句号开始或结束,这也是不允许的。因此,是
我正在创建一个生产应用程序。 现在我已经创建了我的的一部分 此在登录时会生成一个对象,但我不热衷于通过HTTP标头发送未加密/未加密。 为了让您了解我的: 登录时: 正如您现在看到的(因为我还不确定如何处理它),我只查找用户名,然后检查用户名是否存在。 我的问题很简单,如何加密密码,然后在密码到达API后进行验证?
我很难想出如何正确使用扫描仪来验证用户输入。例如,程序需要用户输入int,用户只能输入正数,如果用户输入“apple”、“delicious apple”或负数,问题将显示错误消息。我尝试了下面的代码,然后我发现了一个令人不安的问题,“那不是一个数字!”我不知道是什么引起了这些问题。。。。 我在“number=sc.nextInt()”下面加了一行代码,意外地解决了这个问题,现在我的代码变成: 这