Advertisement
Guest User

Untitled

a guest
Aug 15th, 2014
255
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.43 KB | None | 0 0
  1. public class Lamp {
  2.  
  3. public static String draw(int unit, String lamp, int numberOfLamps) {
  4.  
  5. StringBuilder lamps = initialiseTemplate(numberOfLamps);
  6.  
  7. for (int i = 0; i<unit; i++) {
  8. lamps.replace(i, i + 1, lamp);
  9. }
  10.  
  11. return lamps.toString();
  12. }
  13.  
  14. private static StringBuilder initialiseTemplate(int numberOfLamps) {
  15. StringBuilder lamps = new StringBuilder();
  16.  
  17. for (int i=0; i<numberOfLamps; i++) {
  18. lamps.append(LampsConsts.LAMP_OFF);
  19. }
  20.  
  21. return lamps;
  22. }
  23.  
  24. public static String drawTopMinutes(int unit, int numberOfLamps) {
  25.  
  26. StringBuilder lamps = initialiseTemplate(numberOfLamps);
  27.  
  28. for (int i=0; i<unit; i++) {
  29. turnOnLamp(lamps, i);
  30. }
  31.  
  32. return lamps.toString();
  33. }
  34.  
  35. private static void turnOnLamp(StringBuilder lamp, int positionInLampTemplate) {
  36. String lampType = isLampPositionRed(positionInLampTemplate) ? LampsConsts.RED_LAMP_ON : LampsConsts.YELLOW_LAMP_ON;
  37.  
  38. turnOnLamp(lamp, positionInLampTemplate, lampType);
  39. }
  40.  
  41. private static boolean isLampPositionRed(int positionInLampTemplate) {
  42. return 0 == (positionInLampTemplate + 1) % 3;
  43. }
  44.  
  45. private static void turnOnLamp(StringBuilder lamp, int positionInLampTemplate, String lampType) {
  46. lamp.replace(positionInLampTemplate, positionInLampTemplate + 1, lampType);
  47. }
  48. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement