Java 如果用户输入的仅是数字或字母,如何使用nextLine()进行检查?
我对我的计划有个问题。我想弄清楚,我如何检查用户的s.nextLine()输入表单中是否只包含ints表单1到49,或者是否包含字母。 我知道“eingabe”是一个字符串,所以我不能只使用if,对吗 我的问题是,我在java编程方面相对较新,不知道如何解决/ 也许你能帮我,那太好了Java 如果用户输入的仅是数字或字母,如何使用nextLine()进行检查?,java,java.util.scanner,Java,Java.util.scanner,我对我的计划有个问题。我想弄清楚,我如何检查用户的s.nextLine()输入表单中是否只包含ints表单1到49,或者是否包含字母。 我知道“eingabe”是一个字符串,所以我不能只使用if,对吗 我的问题是,我在java编程方面相对较新,不知道如何解决/ 也许你能帮我,那太好了 public static int Scanner() { Scanner s = new Scanner(System.in); String eingabe = s.ne
public static int Scanner() {
Scanner s = new Scanner(System.in);
String eingabe = s.nextLine();
//???
return eingabe;
}
import java.util.Scanner;
导入java.util.regex.Pattern;
导入java.util.regex.Matcher;
类MyClass{
公共静态void main(字符串[]args){
试一试{
int x=扫描器();
如果(x>=1&&x=1&&x(欢迎使用SO!)(Scanner.nextLine()
返回一个没有后续关系的String
。您可以使用任何“String函数”,但请查看一下。)您应该解释您所做的事情,而不仅仅是发布代码。首先:Ty这正是我正在搜索的内容,但您能否解释一下这是什么“try”和“catch”是什么意思?我不知道这个命令。@csm\u dev.现在我已经编辑了我的答案。请参考它。我想我理解了那里的代码:)@IceCube。如果答案解决了你的问题,请接受并投票
import java.util.Scanner;
import java.util.regex.Pattern;
import java.util.regex.Matcher;
class MyClass {
public static void main (String[] args) {
try {
int x = Scanner();
if(x >= 1 && x <= 49) {
System.out.println("Yes");
}
else {
System.out.println("No");
}
}
catch(java.lang.NumberFormatException e) {
System.out.println(e);
}
//Second Method Using Regex.
try {
int x = useRegex();
if(x >= 1 && x <= 49) {
System.out.println("Yes");
}
else {
System.out.println("No");
}
} catch(java.lang.NumberFormatException e) {
System.out.println(e);
}
}
public static int Scanner() {
Scanner s = new Scanner(System.in);
String eingabe = s.nextLine();
return Integer.parseInt(eingabe);
}
public static int useRegex() {
Scanner s2 = new Scanner(System.in);
String eingabe = s2.nextLine();
Pattern p = Pattern.compile("^[\\+-]?\\d+$");
Matcher m = p.matcher(eingabe);
boolean b = m.matches();
if(b) {
return Integer.parseInt(eingabe);
}
else {
throw new java.lang.NumberFormatException();
}
}
}