我正在运行一个我创建的java程序,它存储用户输入的数据。具体来说,有 4 个数组列表,分别是songName、songArtist、songYear 和songAlbum。 我有一个“songYear”的用户输入,我只希望程序接受最多 4 位数字的长度,否则会给出错误,这如何实现?
这是我的添加条目方法的代码:
public void addEntry(){
String newName = ui.getString("Enter the name of the track");
songName.add(newName);
String newArtist = ui.getString("Who performs this track");
songArtist.add(newArtist);
String newAlbum = ui.getString("What album is this track from");
songAlbum.add(newAlbum);
System.out.print("What year was the track released? ");
int newYear=input.nextInt(4);
songYear.add(newYear);
System.out.println("\n" + "Thank you, " +songName.get(songName.size()-1) + " has been added to the library.");
System.out.println("\n" + "Press 2 to view your library." + "\n");
}
最佳答案
您可以使用正则表达式,例如:^.{4}$
表示仅当用户输入 4 位数字时 - 返回 true,否则返回 false
为了确保用户使用了 4 个数字 YYYY
,请使用以下内容:
^(?=[1-9]+)\d{4}$
确保年份是 1 或 2 后跟三个数字;本例中的有效范围为 1000-2999
^(?=[1-2][0-9]+)\d{4}$
最后你的代码应该是这样的:
if(inputUserStr.matches("^(?=[1-2][0-9]+)\d{4}$")){
// do some stuff
}
else{
// print error about valid input form [YYYY]
}
关于java - 将输入的长度限制为 x 位数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13058300/