## Algorithm

Problem Name: 30 days of code - Day 4: Class vs. Instance

In this HackerRank in 30 Days of Code - Day 4: Class vs. Instance problem solution,

Objective
In this challenge, we're going to learn about the difference between a class and an instance; because this is an Object Oriented concept, it's only enabled in certain languages. Check out the Tutorial tab for learning materials and an instructional video!

Task:

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..

In addition, you must write the following instance methods:

• yearPasses() should increase the age instance variable by 1.
• amIOld() should perform the following conditional actions:

If age <= 13, print You are young..

If age >= 13 and age < 18, print You are a teenager..

Otherwise, print You are old..

Input Format:

Input is handled for you by the stub code in the editor. The first line contains an integer, T (the number of test cases), and the T

subsequent lines each contain an integer denoting the age of a Person instance.

Constraints:

1 < T < 4

-5 < age < 30

Output Format:

Complete the method definitions provided in the editor so they meet the specifications outlined above;

the code to test your work is already in the editor.

If your methods are implemented correctly, each test case will print 2 or 3 lines (depending on whether or not a valid

initialAge was passed to the constructor).

Sample Input:

4

-1

10

16

18

Sample Output:

Age is not valid, setting age to 0.

You are young.

You are young.

You are young

You are a teenager.

You are a teenager.

You are old.

You are old.

You are old.

Explanation:

Test Case 0: initialAge = -1

Because initialAge < 0, our code must set age to 0 and print the "Age is not valid..." message followed by the young message. Three years pass and

age = 3, so we print the young message again.

Test Case 1:initialAge = 10

Because initialAge < 13, our code should print that the person is young. Three years pass and age = 13,

so we print that the person is now a teenager.

Test Case 2:initialAge = 16

Because 13 < initialAge < 18, our code should print that the person is a teenager. Three years pass and age = 19,

so we print that the person is old.

Test Case 3:initialAge = 18

Because initialAge >= 18 , our code should print that the person is old. Three years pass and the person is still old at age = 21,

so we print the old message again.

## Code Examples

### #1 Code Example with C++ Programming

```Code - C++ Programming```

``````#include <iostream>

using namespace std;

class Person {
public:
int age;

Person(int initialAge);

void amIOld();

void yearPasses();
};

Person::Person(int initialAge) {
// Add some more code to run some checks on initialAge
if (initialAge > 0) age = initialAge;
else {
cout << "Age is not valid, setting age to 0." << endl;
age = 0;
}
}

void Person::amIOld() {
// Do some computations in here and print out the correct statement to the console
if (age  <  13) cout << "You are young." << endl;
else if (age  <  18) cout << "You are a teenager." << endl;
else cout << "You are old." << endl;
}

void Person::yearPasses() {
// Increment the age of the person in here
age++;
}

int main() {
int t;
int age;
cin >> t;
for (int i = 0; i  <  t; i++) {
cin >> age;
Person p(age);
p.amIOld();
for (int j = 0; j  <  3; j++) {
p.yearPasses();
}
p.amIOld();
cout << '\n';
}

return 0;
}
``````
Copy The Code &

Input

cmd
4
-1
10
16
18

Output

cmd
Age is not valid, setting age to 0. You are young. You are young. You are young.
You are a teenager.

You are a teenager.
You are old.

You are old.
You are old.

### #2 Code Example with Python Programming

```Code - Python Programming```

``````class Person:
def __init__(self, initialAge):
if initialAge > 0:
self.age = initialAge
else:
print("Age is not valid, setting age to 0.")
self.age = 0

def amIOld(self):
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):
self.age += 1
``````
Copy The Code &

### #3 Code Example with Java Programming

```Code - Java Programming```

``````import java.util.Scanner;

public class Solution {
static class Person {
private int age;

public Person(int initialAge) {
// Add some more code to run some checks on initialAge
if (initialAge > 0) {
age = initialAge;
} else {
System.out.println("Age is not valid, setting age to 0.");
age = 0;
}
}

public void amIOld() {
// Write code determining if this person's age is old and print the correct statement:
if (age  <  13) System.out.println("You are young.");
else if (age < 18) System.out.println("You are a teenager.");
else System.out.println("You are old.");
}

public void yearPasses() {
// Increment this person's age.
age++;
}
}

public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int T = sc.nextInt();
for (int i = 0; i  <  T; i++) {
int age = sc.nextInt();
Person p = new Person(age);
p.amIOld();
for (int j = 0; j  <  3; j++) {
p.yearPasses();
}
p.amIOld();
System.out.println();
}
sc.close();
}
}
``````
Copy The Code &

### #4 Code Example with Javascript Programming

```Code - Javascript Programming```

``````
function Person(initialAge) {
// Add some more code to run some checks on initialAge
if (initialAge < 0) {
console.log("Age is not valid, setting age to 0.");
this.age = 0;
} else {
this.age = initialAge;
}
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 >= 13 && this.age < 18) {
console.log("You are a teenager.");
} else {
console.log('You are old.');
}
};
this.yearPasses = function () {
// Increment the age of the person in here
this.age += 1;
};
}
``````
Copy The Code &
Advertisements

## Demonstration

[Solved] Day 4 Class vs. Instance solution in Hackerrank - Hacerrank solution C, C++, C#, java, Js, PHP,  Python in 30 days of code