我如何在 Java 中修复它
How do i fix it in Java
你好,我正在尝试编写一个方法来检查是否
字符串是一个有效的密码。我假设密码规则是
如下:
密码必须至少有十个字符。
密码仅由字母和数字组成。
密码必须至少包含三位数字。
我写了代码,但我看到这个错误,我不知道为什么。
package javaapplication6;
import java.util.Scanner;
import javafx.beans.binding.Bindings;
public class JavaApplication6 {
public static boolean isvalidPassword(String nume){
int count = 0;
for(int i=0; i<nume.length();i++){
if(Character.isDigit(nume.charAt(i))){
count++;
}
}
if (count<3){
return false;
}
if (nume.length()<10){
return false;
}
for (int i = 0; i < nume.length(); i++) {
if (!Character.isLetter(nume.charAt(i)charAt(i)) && !Character.isDigit(nume.charAt(i))){
return false; }
}
return true;}
}
如果你仔细观察这条线
if (!Character.isLetter(nume.charAt(i)charAt(i)) && !Character.isDigit(nume.charAt(i))){
你看,charAt(i)
是重复的:
nume.charAt(i)charAt(i)
删除其中一个方法调用,您应该没问题。
你好,我正在尝试编写一个方法来检查是否 字符串是一个有效的密码。我假设密码规则是 如下: 密码必须至少有十个字符。 密码仅由字母和数字组成。 密码必须至少包含三位数字。
我写了代码,但我看到这个错误,我不知道为什么。
package javaapplication6;
import java.util.Scanner;
import javafx.beans.binding.Bindings;
public class JavaApplication6 {
public static boolean isvalidPassword(String nume){
int count = 0;
for(int i=0; i<nume.length();i++){
if(Character.isDigit(nume.charAt(i))){
count++;
}
}
if (count<3){
return false;
}
if (nume.length()<10){
return false;
}
for (int i = 0; i < nume.length(); i++) {
if (!Character.isLetter(nume.charAt(i)charAt(i)) && !Character.isDigit(nume.charAt(i))){
return false; }
}
return true;}
}
如果你仔细观察这条线
if (!Character.isLetter(nume.charAt(i)charAt(i)) && !Character.isDigit(nume.charAt(i))){
你看,charAt(i)
是重复的:
nume.charAt(i)charAt(i)
删除其中一个方法调用,您应该没问题。