使用 Java string
的验证代码没有给我所需的输出。它应该接受作为字符串字母数字的输入,并且仅当将字母数字作为 s1 字符串并将整数作为 s2 给出时,输出才有效。否则,它应该将输出作为无效输出
尝试使用 if else 循环进行验证。
import java.util.*;
//import org.apache.commons.lang.StringUtils;
public class Validation {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
System.out.println("enter the input:");
String s1=sc.nextLine();
String s2=sc.nextLine();
boolean isValid1=s1.matches("[A-Za-z0-9]{10}");
boolean isValid2=s2.matches("[0-9]");
boolean isUpperCase=Character.isUpperCase(s1.charAt(0));
System.out.println(isUpperCase);
if((isValid1=true)&&(isValid2=true)&&(isUpperCase=true)){
System.out.println("value of s1 is: "+s1);
System.out.println("Value of S2 is: "+s2);
}
else if((s1.isEmpty())&&(s2.isEmpty())) {
System.out.println("Invalid Input");
}
else {
System.out.println("Invalid Input");
}
}
}
仅当 s1 为字母数字且 s2 为整数
时,输出才应显示 s1 和 s2 的值。否则,它应该将输出显示为无效输入。
最佳答案
在您的代码中,您使用了“=”来分配值。要进行比较,您应该使用“==”:
if((isValid1==true)&&(isValid2==true)&&(isUpperCase==true))
而不是
if((isValid1=true)&&(isValid2=true)&&(isUpperCase=true))
关于使用字母数字字符串进行验证的 Java 程序没有给我所需的输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56219956/