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

  • Thread starter Thread starter dellmac
  • Start date Start date
  • Tags Tags
    Java Set
AI Thread Summary
The discussion revolves around a coding problem related to checking for digits in a passcode string. The initial code attempts to determine if the passcode contains any digits but incorrectly uses `Character.isDigit` with the string length, leading to errors. A user later proposes a solution that checks each character individually, but acknowledges it may be inefficient. Another participant suggests a more efficient approach using a loop to iterate through the entire string, checking each character for digits. This method ensures that the code can handle passcodes of varying lengths effectively.
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;
}
}
 
Technology 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;
    }
}
 
Dear Peeps I have posted a few questions about programing on this sectio of the PF forum. I want to ask you veterans how you folks learn program in assembly and about computer architecture for the x86 family. In addition to finish learning C, I am also reading the book From bits to Gates to C and Beyond. In the book, it uses the mini LC3 assembly language. I also have books on assembly programming and computer architecture. The few famous ones i have are Computer Organization and...
I had a Microsoft Technical interview this past Friday, the question I was asked was this : How do you find the middle value for a dataset that is too big to fit in RAM? I was not able to figure this out during the interview, but I have been look in this all weekend and I read something online that said it can be done at O(N) using something called the counting sort histogram algorithm ( I did not learn that in my advanced data structures and algorithms class). I have watched some youtube...

Similar threads

Back
Top