Java isLetterOrDigit() la méthode, appel isdigit(), isLetter()
Je suis à essayer de comprendre comment vérifier un String
pour vérifier si elle avait au moins une lettre et un nombre à la. Je vais être franc que ce sont les devoirs et je suis un peu confus.
Il existe une méthode isLetterOrDigit()
méthode semble que ce serait la bonne méthode, mais je suis undure que la façon dont je voudrais mettre en œuvre dans mon code. Ici c'est le code que j'utilise ci-dessous:
import javax.swing.JOptionPane;
public class Password
{
public static void main(String[] args)
{
String initialPassword;
String secondaryPassword;
int initialLength;
initialPassword = JOptionPane.showInputDialog(null, "Enter Your Passowrd.");
initialLength = initialPassword.length();
JOptionPane.showMessageDialog(null, "initialLength = " + initialLength);
while (initialLength < 6 || initialLength > 10)
{
initialPassword = JOptionPane.showInputDialog(null, "Your password does not meet the length requirements. It must be at least 6 characters long but no longer than 10.");
initialLength = initialPassword.length();
}
//Needs to contain at least one letter and one digit
secondaryPassword = JOptionPane.showInputDialog(null, "Please enter your password again to verify.");
JOptionPane.showMessageDialog(null, "Initial password : " + initialPassword + "\nSecondar Password : " + secondaryPassword);
while (!secondaryPassword.equals(initialPassword))
{
secondaryPassword = JOptionPane.showInputDialog(null, "Your passwords do not match. Please enter you password again.");
}
JOptionPane.showMessageDialog(null, "The program has successfully completed.");
}
}
Je veux mettre en œuvre une méthode où la section des commentaires est en utilisant soit le isDigit()
, isLetter()
, ou isLetterOrDigit()
méthodes, mais je ne sais pas comment le faire.
Toute orientation serait appréciée. Merci d'avance pour l'aide.
Vous devez vous connecter pour publier un commentaire.
Cela devrait fonctionner.
Il est difficile de vous aider à le faire sans vous donner tout le code pour le faire, puisque c'est si court.
De toute façon pour commencer, car vous avez besoin d'au moins une lettre et au moins un chiffre, vous allez avoir besoin de deux drapeaux, deux
booleans
, qui sera initialementfalse
. Vous pouvez parcourir chaquechar
dansininitialPassword
à l'aide d'unforeach
boucle:Et puis tout ce que vous avez à faire est de vérifier à chaque itération si
c
est peut-être une lettre ou un chiffre, et de définir le drapeau correspondant dans l'affirmative. Une fois que la boucle se termine, si les deux drapeaux sont le jeu, puis votre mot de passe est valide. C'est ce que votre code pourrait ressembler à:Le code ci-dessous est le dernier code que j'ai trouvé grâce à vos suggestions:
}
Ce qui semble être une vieille question, et a été répondu plus tôt, mais j'ajoute mon code que j'ai fait face à un problème avec Thai caractères accentués. J'ai donc travaillé sur corriger ce problème et j'ai trouvé la solution ci-dessus, qui a été incomplète si vous êtes aux prises avec de tels caractères - ก่อนที่สุด ท้ายo
Afin d'identifier ces caractères correctement voici le code:
Ne sais pas si quelqu'un a fait face à cette trop. Espérons que cela pourrait les aider.