-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathq1.php
More file actions
84 lines (68 loc) · 1.3 KB
/
q1.php
File metadata and controls
84 lines (68 loc) · 1.3 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
<?php
/**
## Question 1 - OO FizzBuzz
This is a classic test, but I would like you to think about it in a different, object-oriented way.
Write a program that prints the numbers from 1 to 100:
- For multiples of 3 print "Fizz" instead of the number
- For multiples of 5 print "Buzz".
- For numbers which are multiples of both 3 and 5 print "FizzBuzz".
I would like you to write a Class for this task.
```php
<?php
// Variables
class FizzBuzz
{
// Your code here
}
```
The expected result is:
```
1
2
Fizz
4
Buzz
Fizz
7
8
Fizz
Buzz
11
Fizz
13
14
FizzBuzz
16
... etc.
```
*/
class FizzBuzz
{
private int $start;
private int $end;
public function __construct(int $start, int $end)
{
$this->start = $start;
$this->end = $end;
}
private function check(int $number) : string
{
if($number % 15 === 0) {
return 'FizzBuzz';
}
if($number % 3 === 0) {
return 'Fizz';
}
if($number % 5 === 0) {
return 'Buzz';
}
return (string) $number;
}
public function run() : void
{
for ($i = $this->start; $i <= $this->end; $i++) {
echo $this->check($i) . PHP_EOL;
}
}
}
$fizzBuzz = (new FizzBuzz(1, 100))->run();