用户输入的java验证
我在下面写了这段代码,我想知道是否有可能验证“playername”的代码条目。我需要能够检查用户是否在这个字符串中输入了任何内容,我想知道除了使用中断之外,是否可以以任何方式执行此操作,因为它不在循环中,我不能使用中断。此外,当我从用户那里获取输入时,我使用冒号作为字段分隔符,将用户输入拆分为数组中的单独元素。我想知道是否有办法检查用户是否使用了正确的字段分隔符
import java.util.Scanner;
public class REQ2 {
public static void main (String[] args) {
String playername;
String line;
String[] list = new String[100];
int count = 0;
int score;
int time;
int totalScore =0;
Scanner sc = new Scanner(System.in);
System.out.println("Please enter your name");
playername = sc.nextLine();
System.out.println("Please enter your game achievements (Game name:score:time played) E.g. Minecraft:14:2332");
while (count < 100) {
line = sc.nextLine();
if(line.equals("quit")) {
break;
}
list[count]=line;
System.out.println("list[count]" + list[count]);
count++;
for (int i = 0; i < count; i++) {
line = list[i];
String[] elements = line.split(":");
if (line.length() != 3) {
System.out.println("Error please try again, Please enter in the following format: game name:score:timeplayed");
break;
}
score = Integer.parseInt(elements[1].trim());
time=Integer.parseInt(elements[2].trim());
}
}
}
}
# 1 楼答案
在
playername = sc.nextLine();
之后使用此代码在变量
playername
有一个非空的值字符串之前,这不会让程序继续编辑
如果你想在没有输入任何内容的情况下退出程序,请使用
编辑2
至于检查字符串中是否使用了
:
,请尝试在line = sc.nextLine();
之后添加此代码。(记住要使用它,您必须调用Java文件顶部的这行代码import java.util.regex.*;
)