Welcome to the Treehouse Community

Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community! While you're at it, check out some resources Treehouse students have shared here.

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.

Start your free trial

Java Java Objects (Retired) Delivering the MVP Validation

Alistair Mackay
Alistair Mackay
7,812 Points

Java Objects: Validation - this one's tricky.

Having trouble getting this exercise to pass and I don't understand the error message I get back when I press "Check Work" - "Bummer! Expected "m_first_name" to fail but it passed."

I feel like I may have went off piste with my answer, the code compiles fine and from what I can tell should work but it's not passing the example.

public class TeacherAssistant {

  public static String validatedFieldName(String fieldName) {
    char[] fieldNameArray = fieldName.toCharArray();
    // These things should be verified:
    if (fieldNameArray[0] != 'm') {
      // 1.  Member fields must start with an 'm'
      throw new IllegalArgumentException("variable fieldName must start with an the char 'm'");
    }
    if (Character.isUpperCase(fieldNameArray[1])) {
      // 2.  The second letter in the field name must be uppercased to ensure camel-casing
      throw new IllegalArgumentException("second letter in filedName must be capitalised.");
    }
    // NOTE:  To check if something is not equal use the != symbol. eg: 3 != 4
    return fieldName;
  }

}

Any pointers on how to pass this example?

2 Answers

Craig Dennis
STAFF
Craig Dennis
Treehouse Teacher

Looks good! I think you mean not uppercase tho!

Did you get this solved already?

Alistair Mackay
Alistair Mackay
7,812 Points

Yeah got there in the end - took me a while to spot where I had went wrong.

Thanks for the course! :-)

The following got it to pass, I had seen a few cleaner ways to do this that didn't use an "fieldNameArray" variable, but I was happy enough with the answer.

public class TeacherAssistant {

  public static String validatedFieldName(String fieldName) {
    char[] fieldNameArray = fieldName.toCharArray();
    // These things should be verified:
    if (fieldNameArray[0] != 'm') {
      // 1.  Member fields must start with an 'm'
      throw new IllegalArgumentException("variable fieldName must start with an the char 'm'");
    }
    if (!Character.isUpperCase(fieldNameArray[1])) {
      // 2.  The second letter in the field name must be uppercased to ensure camel-casing
      throw new IllegalArgumentException("second letter in filedName must be capitalised.");
    }
    // NOTE:  To check if something is not equal use the != symbol. eg: 3 != 4
    return fieldName;
  }

}