Problem Statement
Here's the beginning of an ASCII art bitmap that depicts a tape measure:
################################################### # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # 0 10 20
A more formal description:
- The first row is full of '#' marks and represents the top edge of the tape measure.
- The second row shows unit marks in every second column.
- Multiples of five get a longer mark that continues into the third row.
- Multiples of ten get a mark that reaches all the way into the fourth row, and they also get labels in the fifth row. The label always begins in the column with the mark and extends to the right as needed.
You are given the
Definition
- Class:
- TapeMeasure
- Method:
- draw
- Parameters:
- int, int
- Returns:
- String[]
- Method signature:
- String[] draw(int leftMark, int rightMark)
- (be sure your method is public)
Constraints
- leftMark will be between 0 and 999, inclusive.
- rightMark will be between leftMark and 999, inclusive.
- rightMark - leftMark will be at most 25.
Examples
0
25
Returns: {"###################################################", "# # # # # # # # # # # # # # # # # # # # # # # # # #", "# # # # # #", "# # # ", "0 10 20 " }
This is the exact example shown in the problem statement.
981
990
Returns: {"###################", "# # # # # # # # # #", " # #", " #", "0 9" }
Note how the labels for marks 980 and 990 are partially visible in this section of the tape measure. Below we show a section of the tape measure that is one mark wider on each side (left=980, right=991) so that you can see these labels completely. ####################### # # # # # # # # # # # # # # # # # 980 990
20
20
Returns: {"#", "#", "#", "#", "2" }
31
38
Returns: {"###############", "# # # # # # # #", " # ", " ", " " }
64
75
Returns: {"#######################", "# # # # # # # # # # # #", " # # #", " # ", " 70 " }
566
579
Returns: {"###########################", "# # # # # # # # # # # # # #", " # # ", " # ", " 570 " }
584
598
Returns: {"#############################", "# # # # # # # # # # # # # # #", " # # # ", " # ", " 590 " }
263
273
Returns: {"#####################", "# # # # # # # # # # #", " # # ", " # ", " 270 " }
395
411
Returns: {"#################################", "# # # # # # # # # # # # # # # # #", "# # # # ", " # # ", " 400 410" }
630
642
Returns: {"#########################", "# # # # # # # # # # # # #", "# # # ", "# # ", "630 640 " }
814
815
Returns: {"###", "# #", " #", " ", " " }
674
687
Returns: {"###########################", "# # # # # # # # # # # # # #", " # # # ", " # ", " 680 " }
980
980
Returns: {"#", "#", "#", "#", "9" }
0
3
Returns: {"#######", "# # # #", "# ", "# ", "0 " }
965
973
Returns: {"#################", "# # # # # # # # #", "# # ", " # ", " 970 " }
493
518
Returns: {"###################################################", "# # # # # # # # # # # # # # # # # # # # # # # # # #", " # # # # # ", " # # ", " 500 510 " }
559
582
Returns: {"###############################################", "# # # # # # # # # # # # # # # # # # # # # # # #", " # # # # # ", " # # # ", " 560 570 580 " }
939
939
Returns: {"#", "#", " ", " ", " " }
581
591
Returns: {"#####################", "# # # # # # # # # # #", " # # ", " # ", "0 590" }
235
248
Returns: {"###########################", "# # # # # # # # # # # # # #", "# # # ", " # ", " 240 " }
535
542
Returns: {"###############", "# # # # # # # #", "# # ", " # ", " 540 " }
367
383
Returns: {"#################################", "# # # # # # # # # # # # # # # # #", " # # # ", " # # ", " 370 380 " }
980
994
Returns: {"#############################", "# # # # # # # # # # # # # # #", "# # # ", "# # ", "980 990 " }
34
41
Returns: {"###############", "# # # # # # # #", " # # ", " # ", " 40 " }
383
400
Returns: {"###################################", "# # # # # # # # # # # # # # # # # #", " # # # #", " # #", " 390 4" }
704
726
Returns: {"#############################################", "# # # # # # # # # # # # # # # # # # # # # # #", " # # # # # ", " # # ", " 710 720 " }
615
626
Returns: {"#######################", "# # # # # # # # # # # #", "# # # ", " # ", " 620 " }
571
581
Returns: {"#####################", "# # # # # # # # # # #", " # # ", " # ", "0 580" }
780
798
Returns: {"#####################################", "# # # # # # # # # # # # # # # # # # #", "# # # # ", "# # ", "780 790 " }
244
250
Returns: {"#############", "# # # # # # #", " # #", " #", " 2" }
860
885
Returns: {"###################################################", "# # # # # # # # # # # # # # # # # # # # # # # # # #", "# # # # # #", "# # # ", "860 870 880 " }
936
959
Returns: {"###############################################", "# # # # # # # # # # # # # # # # # # # # # # # #", " # # # # ", " # # ", " 940 950 " }
128
129
Returns: {"###", "# #", " ", " ", " " }
100
110
Returns: {"#####################", "# # # # # # # # # # #", "# # #", "# #", "100 1" }
592
603
Returns: {"#######################", "# # # # # # # # # # # #", " # # ", " # ", " 600 " }
520
532
Returns: {"#########################", "# # # # # # # # # # # # #", "# # # ", "# # ", "520 530 " }
832
849
Returns: {"###################################", "# # # # # # # # # # # # # # # # # #", " # # # ", " # ", " 840 " }
99
107
Returns: {"#################", "# # # # # # # # #", " # # ", " # ", " 100 " }
892
912
Returns: {"#########################################", "# # # # # # # # # # # # # # # # # # # # #", " # # # # ", " # # ", " 900 910 " }
949
956
Returns: {"###############", "# # # # # # # #", " # # ", " # ", " 950 " }
865
887
Returns: {"#############################################", "# # # # # # # # # # # # # # # # # # # # # # #", "# # # # # ", " # # ", " 870 880 " }
223
233
Returns: {"#####################", "# # # # # # # # # # #", " # # ", " # ", " 230 " }
762
777
Returns: {"###############################", "# # # # # # # # # # # # # # # #", " # # # ", " # ", " 770 " }
791
794
Returns: {"#######", "# # # #", " ", " ", "0 " }
619
632
Returns: {"###########################", "# # # # # # # # # # # # # #", " # # # ", " # # ", " 620 630 " }
691
702
Returns: {"#######################", "# # # # # # # # # # # #", " # # ", " # ", "0 700 " }
900
909
Returns: {"###################", "# # # # # # # # # #", "# # ", "# ", "900 " }
829
853
Returns: {"#################################################", "# # # # # # # # # # # # # # # # # # # # # # # # #", " # # # # # ", " # # # ", " 830 840 850 " }
828
835
Returns: {"###############", "# # # # # # # #", " # #", " # ", " 830 " }
944
961
Returns: {"###################################", "# # # # # # # # # # # # # # # # # #", " # # # # ", " # # ", " 950 960" }
365
373
Returns: {"#################", "# # # # # # # # #", "# # ", " # ", " 370 " }
578
595
Returns: {"###################################", "# # # # # # # # # # # # # # # # # #", " # # # #", " # # ", " 580 590 " }
495
496
Returns: {"###", "# #", "# ", " ", " " }
576
585
Returns: {"###################", "# # # # # # # # # #", " # #", " # ", " 580 " }
404
428
Returns: {"#################################################", "# # # # # # # # # # # # # # # # # # # # # # # # #", " # # # # # ", " # # ", " 410 420 " }
967
975
Returns: {"#################", "# # # # # # # # #", " # #", " # ", " 970 " }
531
554
Returns: {"###############################################", "# # # # # # # # # # # # # # # # # # # # # # # #", " # # # # ", " # # ", "0 540 550 " }
226
251
Returns: {"###################################################", "# # # # # # # # # # # # # # # # # # # # # # # # # #", " # # # # # ", " # # # ", " 230 240 250" }
116
135
Returns: {"#######################################", "# # # # # # # # # # # # # # # # # # # #", " # # # #", " # # ", " 120 130 " }
861
881
Returns: {"#########################################", "# # # # # # # # # # # # # # # # # # # # #", " # # # # ", " # # ", "0 870 880" }
388
394
Returns: {"#############", "# # # # # # #", " # ", " # ", " 390 " }
259
274
Returns: {"###############################", "# # # # # # # # # # # # # # # #", " # # # ", " # # ", " 260 270 " }
947
966
Returns: {"#######################################", "# # # # # # # # # # # # # # # # # # # #", " # # # # ", " # # ", " 950 960 " }
152
169
Returns: {"###################################", "# # # # # # # # # # # # # # # # # #", " # # # ", " # ", " 160 " }
15
29
Returns: {"#############################", "# # # # # # # # # # # # # # #", "# # # ", " # ", " 20 " }
560
565
Returns: {"###########", "# # # # # #", "# #", "# ", "560 " }
823
843
Returns: {"#########################################", "# # # # # # # # # # # # # # # # # # # # #", " # # # # ", " # # ", " 830 840 " }
84
108
Returns: {"#################################################", "# # # # # # # # # # # # # # # # # # # # # # # # #", " # # # # # ", " # # ", " 90 100 " }
272
274
Returns: {"#####", "# # #", " ", " ", " " }
832
848
Returns: {"#################################", "# # # # # # # # # # # # # # # # #", " # # # ", " # ", " 840 " }
559
578
Returns: {"#######################################", "# # # # # # # # # # # # # # # # # # # #", " # # # # ", " # # ", " 560 570 " }
801
816
Returns: {"###############################", "# # # # # # # # # # # # # # # #", " # # # ", " # ", "0 810 " }
446
471
Returns: {"###################################################", "# # # # # # # # # # # # # # # # # # # # # # # # # #", " # # # # # ", " # # # ", " 450 460 470" }
940
951
Returns: {"#######################", "# # # # # # # # # # # #", "# # # ", "# # ", "940 950" }
33
57
Returns: {"#################################################", "# # # # # # # # # # # # # # # # # # # # # # # # #", " # # # # # ", " # # ", " 40 50 " }
271
290
Returns: {"#######################################", "# # # # # # # # # # # # # # # # # # # #", " # # # #", " # #", "0 280 2" }
623
643
Returns: {"#########################################", "# # # # # # # # # # # # # # # # # # # # #", " # # # # ", " # # ", " 630 640 " }
966
982
Returns: {"#################################", "# # # # # # # # # # # # # # # # #", " # # # ", " # # ", " 970 980 " }
931
952
Returns: {"###########################################", "# # # # # # # # # # # # # # # # # # # # # #", " # # # # ", " # # ", "0 940 950 " }
936
951
Returns: {"###############################", "# # # # # # # # # # # # # # # #", " # # # ", " # # ", " 940 950" }
653
675
Returns: {"#############################################", "# # # # # # # # # # # # # # # # # # # # # # #", " # # # # #", " # # ", " 660 670 " }
974
999
Returns: {"###################################################", "# # # # # # # # # # # # # # # # # # # # # # # # # #", " # # # # # ", " # # ", " 980 990 " }
849
859
Returns: {"#####################", "# # # # # # # # # # #", " # # ", " # ", " 850 " }
590
590
Returns: {"#", "#", "#", "#", "5" }
216
223
Returns: {"###############", "# # # # # # # #", " # ", " # ", " 220 " }
441
452
Returns: {"#######################", "# # # # # # # # # # # #", " # # ", " # ", "0 450 " }
188
210
Returns: {"#############################################", "# # # # # # # # # # # # # # # # # # # # # # #", " # # # # #", " # # #", " 190 200 2" }
481
486
Returns: {"###########", "# # # # # #", " # ", " ", "0 " }
130
136
Returns: {"#############", "# # # # # # #", "# # ", "# ", "130 " }
139
142
Returns: {"#######", "# # # #", " # ", " # ", " 140 " }
803
826
Returns: {"###############################################", "# # # # # # # # # # # # # # # # # # # # # # # #", " # # # # # ", " # # ", " 810 820 " }
352
370
Returns: {"#####################################", "# # # # # # # # # # # # # # # # # # #", " # # # #", " # #", " 360 3" }
401
417
Returns: {"#################################", "# # # # # # # # # # # # # # # # #", " # # # ", " # ", "0 410 " }
273
276
Returns: {"#######", "# # # #", " # ", " ", " " }
0
14
Returns: {"#############################", "# # # # # # # # # # # # # # #", "# # # ", "# # ", "0 10 " }
125
145
Returns: {"#########################################", "# # # # # # # # # # # # # # # # # # # # #", "# # # # #", " # # ", " 130 140 " }
68
81
Returns: {"###########################", "# # # # # # # # # # # # # #", " # # # ", " # # ", " 70 80 " }
21
32
Returns: {"#######################", "# # # # # # # # # # # #", " # # ", " # ", " 30 " }
42
50
Returns: {"#################", "# # # # # # # # #", " # #", " #", " 5" }
185
189
Returns: {"#########", "# # # # #", "# ", " ", " " }
523
546
Returns: {"###############################################", "# # # # # # # # # # # # # # # # # # # # # # # #", " # # # # # ", " # # ", " 530 540 " }
205
220
Returns: {"###############################", "# # # # # # # # # # # # # # # #", "# # # #", " # #", " 210 2" }
791
816
Returns: {"###################################################", "# # # # # # # # # # # # # # # # # # # # # # # # # #", " # # # # # ", " # # ", "0 800 810 " }
506
531
Returns: {"###################################################", "# # # # # # # # # # # # # # # # # # # # # # # # # #", " # # # # # ", " # # # ", " 510 520 530" }
97
121
Returns: {"#################################################", "# # # # # # # # # # # # # # # # # # # # # # # # #", " # # # # # ", " # # # ", " 100 110 120" }
1
25
Returns: {"#################################################", "# # # # # # # # # # # # # # # # # # # # # # # # #", " # # # # #", " # # ", " 10 20 " }
901
925
Returns: {"#################################################", "# # # # # # # # # # # # # # # # # # # # # # # # #", " # # # # #", " # # ", "0 910 920 " }