In this HackerRank Day 4 class vs Instance, 30 days of code problem Write a Person class with an instance variable, age, and a constructor that takes an integer, initialAge, as a parameter. The constructor must assign initialAge to age after confirming the argument passed as initialAge is not negative; if a negative argument is passed as initialAge, the constructor should set age to 0 and print Age is not valid, setting age to 0.


Day 4: Class vs. Instance hackerrank 30 days of code solution


Problem solution in Python 2 programming.

class Person:
    def __init__(self,initialAge):
        # Add some more code to run some checks on initialAge
        if initialAge < 0:
            self.age = 0
            print "Age is not valid, setting age to 0."
        else:
            self.age = initialAge
    def amIOld(self):
        # Do some computations in here and print out the correct statement to the console
        if self.age < 13:
            print "You are young."
        elif self.age < 18:
            print "You are a teenager."
        else:
            print "You are old."
    def yearPasses(self):
        # Increment the age of the person in here
        self.age += 1


Problem solution in Python 3 programming.

class Person:
    def __init__(self,initialAge):
        # Add some more code to run some checks on initialAge
        if initialAge < 0:
            self.age = 0
            print("Age is not valid, setting age to 0.")
        else:
            self.age = initialAge
    def amIOld(self):
        # Do some computations in here and print out the correct statement to the console
        if self.age < 13:
            print("You are young.")
        elif self.age>=13 and self.age <18:
            print("You are a teenager.")
        else:
            print("You are old.")
    def yearPasses(self):
        # Increment the age of the person in here
        self.age += 1


Problem solution in java programming.

public class Person {
    private int age;	
  
	public Person(int initialAge) {
  		if(initialAge < 0){
            age = 0;
            System.out.println("Age is not valid, setting age to 0.");
        }else{
            age = initialAge;
        }
	}

	public void amIOld() {
        String ans;
  		if(age < 13){
            ans = "You are young.";
        }else if(age >= 13 && age < 18){
            ans = "You are a teenager.";
        }else{
            ans = "You are old.";
        }
        System.out.println(ans);
	}

	public void yearPasses() {
  		age += 1;
	}


Problem solution in c++ programming.

class Person{
public:
   int age ;
   Person(int initialAge);
   void amIOld();
   void yearPasses();
};
Person::Person(int initialAge){
  if(initialAge==NULL || initialAge<0){
      age=0;
      cout<<"Age is not valid, setting age to 0.\n";
  }else {
      age=initialAge;
  }
}
void Person::amIOld(){
    if(age<13){
        cout<<"You are young.\n";
    } else if(age>=13 && age<18){
        cout<<"You are a teenager.\n";
    } else{
        cout<<"You are old.\n";
    }

}
    

void Person::yearPasses(){
  age+=1;

}


Problem solution in Javascript programming.

function Person(initialAge){
    // Add some more code to run some checks on initialAge
    if (initialAge > 0) this.age = initialAge;
    else {
        this.age = 0;
        console.log("Age is not valid, setting age to 0.");
    }
  this.amIOld=function(){
   // Do some computations in here and print out the correct statement to the console
      if (this.age < 13) console.log("You are young.");
      else if (this.age < 18) console.log("You are a teenager.");
      else console.log("You are old.");

  };
   this.yearPasses=function(){
          this.age++;
   };
}