Latest news:
Sahih al-Bukhari (সহীহ বুখারী) is a free Hadith application for android. This application is advertisement free. Download now https://play.google.com/store/apps/details?id=com.akramhossin.bukharisharif
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:
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.
PHP Solutions:
class Person{
public $age;
public function __construct($initialAge){
// Add some more code to run some checks on initialAge
if($initialAge < 0){
$this->age = 0;
print "Age is not valid, setting age to 0.\n";
}else{
$this->age = $initialAge;
}
}
public function amIOld(){
// Do some computations in here and print out the correct statement to the console
if($this->age < 13){
print "You are young.\n";
}
else if($this->age >= 13 && $this->age < 18){
print "You are a teenager.\n";
}else{
print "You are old.\n";
}
}
public function yearPasses(){
// Increment the age of the person in here
$this->age += 1;
}
}
Views : 923