我正在编写一个检查密码条目的代码。 main方法检查辅助方法并根据它是true还是false输出一行。我的问题是当我编译它给第二个方法的预期类错误,但如果我尝试使用与我的主相同的类,它会给出重复的类错误。我认为我不需要第二堂课。有人在乎帮助我吗?
import java.util.Scanner;
public class CheckPassword {
public static void main(String[] args) {
scanner input = new Scanner(System.in);
System.out.println("Enter a password");
password = input.nextLine();
if (check(password)) {
System.out.println("Valid Password");
}
else{
System.out.println("Invalid Password");
}
}
}
public class CheckPassword {
public static boolean check(String password) {
boolean check = true;
if(password.length() < 8) {
check = false;
}
int num = 0;
for(int x = 0; x < password.length(); x++) {
if(isLetter(password.charAt(x)) || isDigit(password.charAt(x))){
if(isDigit(password.charAt(x))){
num++;
if (num >=2){
check = true;
}
else{
check = false;
}
}
}
}
}
}
答案 0 :(得分:-1)
不需要其他类,但需要静态导入isDigit和isLetter。我修改了你的代码:
import java.util.Scanner;
import static java.lang.Character.isDigit;
import static java.lang.Character.isLetter;
public class CheckPassword {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.println("Enter a password");
String password = input.nextLine();
if (check(password)) {
System.out.println("Valid Password");
}
else{
System.out.println("Invalid Password");
}
}
public static boolean check(String password) {
boolean check = true;
if(password.length() < 8) {
check = false;
}
int num = 0;
for(int x = 0; x < password.length(); x++) {
if(isLetter(password.charAt(x)) || isDigit(password.charAt(x))){
if(isDigit(password.charAt(x))){
num++;
if (num >=2){
check = true;
}
else{
check = false;
}
}
}
}
return check;
}
}