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

Sohaib Rashid
Sohaib Rashid
627 Points

I don't know what is wrong here, i get an error mesasage of bad operand type String for unary operator '!'

I know what the error is, i don't know to fix it

TeacherAssistant.java
public class TeacherAssistant {

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

    return fieldName;
  }

}
Dovev Golan
Dovev Golan
425 Points

Hey,

The "!" operator is for boolean variants.

Try this :

If (fieldName == null) .....

1 Answer

Rob Bridges
seal-mask
.a{fill-rule:evenodd;}techdegree seal-36
Rob Bridges
Full Stack JavaScript Techdegree Graduate 35,467 Points

Hello, I think I answered your other question, but just incase. Try the following code below.

public class TeacherAssistant {

  public static String validatedFieldName(String fieldName) {
    // These things should be verified:
    if (fieldName.charAt(0) != 'm' || !Character.isUpperCase(fieldName.charAt(1)) ) {
      throw new IllegalArgumentException("Illegal field name");
    }
    // 2.  The second letter in the field name must be uppercased to ensure camel-casing
    // NOTE:  To check if something is not equal use the != symbol. eg: 3 != 4
    return fieldName;
  }
}

You are first checking to make sure that the char 'm' is the first char in the string, then you are checking to make sure that the second is capitalized. If either of these conditions are not met than you are throwing the exception.

Thanks, let me know if this helps!

Sohaib Rashid
Sohaib Rashid
627 Points

ahh you made it so much easier to understand! you have definitely helped! thank you and happy coding!