Java- Set hasDigit to true if the 3-character passCode contains a digit.

  • Context: Java 
  • Thread starter Thread starter dellmac
  • Start date Start date
  • Tags Tags
    Java Set
Join the discussion
Ask a follow-up here, or get your own question answered by working scientists, mathematicians and engineers — people, not an autocomplete.
Real named experts · corrections over time · the nuance an AI answer skips
2 replies · 51K views
dellmac
Messages
4
Reaction score
0
Been working this problem for hours and can't seem to get it right. Any assistance would be greatly appreciated!

Note: Green colored text is the editable text

public class CheckingPasscodes {
public static void main (String [] args) {
boolean hasDigit = false;
String passCode = "";
int valid = 0;

passCode = "abc";

if (passCode.equals(Character.isDigit(passCode.length()))) {
hasDigit = true;
}

if (hasDigit) {
System.out.println("Has a digit.");
}
else {
System.out.println("Has no digit.");
}

return;
}
}
 
Physics news on Phys.org
So I just got it. I believe I used the long way though; not sure if there is an easier way:

if (Character.isDigit(passCode.charAt(0))) {
hasDigit = true;
}
if (Character.isDigit(passCode.charAt(1))) {
hasDigit = true;
}
if (Character.isDigit(passCode.charAt(2))) {
hasDigit = true;
}
 
dellmac said:
So I just got it. I believe I used the long way though; not sure if there is an easier way:

if (Character.isDigit(passCode.charAt(0))) {
hasDigit = true;
}
if (Character.isDigit(passCode.charAt(1))) {
hasDigit = true;
}
if (Character.isDigit(passCode.charAt(2))) {
hasDigit = true;
}

Hi dellmac! (Smile)

That looks like the right direction.
But suppose the passCode is not length 3...
In other words, you need a loop:
Code:
for (int i = 0; i < passCode.length(); ++i) {
    if (Character.isDigit(passCode.charAt(i))) {
        hasDigit = true;
    }
}