【发布时间】:2018-10-02 04:23:06
【问题描述】:
所以目前我有一个设置,用户从扫描仪实用程序输入一个数字,我有一个布尔值来检查输入的字符串是否为 4 位数字,并且只有数字我如何创建一个布尔值来检查它与另一个字符串的比较实例:
String pin = "6357";
我必须将字符串与用户输入的字符串进行比较。这是我当前检查字符串长度的代码:
import java.security.MessageDigest;
import java.util.Scanner;
public class pin
{
public static void main( String[] args ) {
Scanner kbd = new Scanner( System.in );
String pin;
System.out.print( "Enter pin: " );
pin = kbd.next();
System.out.println( "Valid: " + isValid(pin) );
System.out.println( "Is int: " + isInt(pin) );
System.out.println( "MD5: " + md5HexString(pin) );
}
public static boolean isInt( String s ) {
try {
int i = Integer.parseInt( s );
System.out.println( "Int: " + i );
return true;
}
catch( Exception ex ) {
return false;
}
}
public static boolean isValid( String s ) {
return s.matches( "\\d{4}" ); // must be 4 digits long
}
可以看出,这不会将它与另一个现有字符串进行比较,所以如果我有这样的东西怎么办:
import java.security.MessageDigest;
import java.util.Scanner;
public class pin
{
String pinnum = "6357";
public static void main( String[] args ) {
Scanner kbd = new Scanner( System.in );
String pin;
System.out.print( "Enter pin: " );
pin = kbd.next();
System.out.println( "Valid: " + isValid(pin) );
System.out.println( "Is int: " + isInt(pin) );
System.out.println( "MD5: " + md5HexString(pin) );
}
public static boolean isInt( String s ) {
try {
int i = Integer.parseInt( s );
System.out.println( "Int: " + i );
return true;
}
catch( Exception ex ) {
return false;
}
}
public static boolean isValid( String s ) {
//what to put here?
}
在这个例子中,我预先设置了一个 pin,我想检查用户通过扫描仪工具输入的内容是否完全匹配。这可能吗?
【问题讨论】:
-
请注意
isInt不是必需的,您可以使用isValid检查输入是否为有效整数 -
//这里放什么?你可以用
return pin.equals(s): -
还要注意
ping#末尾的锐利是java中的非法字符! -
在第二段代码中你也不需要检查
isInt! -
@YCF_L 啊,是的,谢谢你指出我只是改变了它,我没有想到#的结尾
标签: java string boolean java.util.scanner