
In Java please.
Reimplement the TrafficLight class using a simple counter that is advanced in each call to next. If the traffic light was initially green, the counter has values 0 1 2 3 4 5 6 … . If the traffic light was initially red, the counter has values 2 3 4 5 6 7 8 … . Compute the current color and the number of reds, using integer division and remainder.
Help me with this code (fill in /* Your code goes here */):
/**
A simulated traffic light.
*/
public class TrafficLight
{
private int steps;
/**
Constructs a green traffic light.
*/
public TrafficLight()
{
/* Your code goes here */
}
/**
Constructs a traffic light.
@param initialColor the initial color "green", "yellow", or "red"
*/
public TrafficLight(String initialColor)
{
/* Your code goes here */
}
/**
Moves this traffic light to the next color.
*/
public void next()
{
steps++;
}
/**
Returns the current color of this traffic light.
@return the current color
*/
public String getColor()
{
/* Your code goes here */
}
/**
Counts how often this traffic light has been red.
@return the number of times this traffic light has been red
*/
public int getReds()
{
/* Your code goes here */
}
}
Second part of code that was GIVEN do not modify
public class TrafficLightTester
{
public static void main(String[] args)
{
TrafficLight tl1 = new TrafficLight();
System.out.println(tl1.getColor());
System.out.println("Expected: green");
System.out.println(tl1.getReds());
System.out.println("Expected: 0");
tl1.next();
System.out.println(tl1.getColor());
System.out.println("Expected: yellow");
System.out.println(tl1.getReds());
System.out.println("Expected: 0");
tl1.next();
System.out.println(tl1.getColor());
System.out.println("Expected: red");
System.out.println(tl1.getReds());
System.out.println("Expected: 1");
tl1.next();
System.out.println(tl1.getColor());
System.out.println("Expected: green");
System.out.println(tl1.getReds());
System.out.println("Expected: 1");
TrafficLight tl2 = new TrafficLight("red");
System.out.println(tl2.getColor());
System.out.println("Expected: red");
System.out.println(tl2.getReds());
System.out.println("Expected: 1");
tl2.next();
System.out.println(tl2.getColor());
System.out.println("Expected: green");
System.out.println(tl2.getReds());
System.out.println("Expected: 1");
tl2.next();
tl2.next();
System.out.println(tl2.getColor());
System.out.println("Expected: red");
System.out.println(tl2.getReds());
System.out.println("Expected: 2");
}
}

Trending nowThis is a popular solution!
Step by stepSolved in 3 steps with 2 images

- I need help with this Java program. I got some minor error that I couldn't fix. Checker Classes You will have to implement specific checks to highlight errors found in the source files. We provided an interface Check.java that defines a single method public Optional<Error> lint(String line, int lineNumber) . All the checkers you write should implement this interface and hence, you need to implement the lint method. All of these should return an an Error when one is present with a custom message of your choosing to describe what the error means to the user. If the condition a Check is looking for is not present for a line, should return Optional.empty(). Other class Error.java public Error(int code, int lineNumber, String message) Constructs an Error given the error code, line number and a message. public String toString() Returns a String representation of the error with the line number, error code and message. The representation should be formatted as (replace curly braces with…arrow_forwardI needed some help with this java homework assignement. We use eclipse. CIS365 Hw1: Count LetterWrite a Java program (CountLetter.java). Input a sentence from keyboard. Print out how many letters "a", "e", "o" and the percentage of each letter in the whole sentence. Please enter a sentence, ended by period '.': (5 points)Sentence.... (10 points)There are 20 letters (10 points)a: 1, 5% (20 points)e: 0, 0% (20 points)o: 4, 20% (20 points)arrow_forwardI need help with this code in Javaarrow_forward
- Implement the Board class. Make sure to read through those comments so that you know what is required. import java.util.Arrays; import java.util.Random; public class Board { // You don't have to use these constants, but they do make your code easier to read public static final byte UR = 0; public static final byte R = 1; public static final byte DR = 2; public static final byte DL = 3; public static final byte L = 4; public static final byte UL = 5; // You need a random number generator in order to make random moves. Use rand below private static final Random rand = new Random(); private byte[][] board; /** * Construct a puzzle board by beginning with a solved board and then * making a number of random moves. Note that making random moves * could result in the board being solved. * * @param moves the number of moves to make when generating the board. */ public Board(int moves) { // TODO } /** * Construct a puzzle board using a 2D array of bytes to indicate the contents *…arrow_forwardUsing the code in the image provided: Implement a method called summation which adds two integers and returns their sum. INPUT: The first line of input contains an integer a. The Second Line of input containes and integer b. OUTPUT: Print the result which is the sum of a and b.arrow_forwardJava allows for methods to be chained together. Consider the following message from the captain of a pirate ship: String msg1 = " Maroon the First Mate with a flagon of water and a pistol! "; We want to change the message to read the message msg1: String msg2= “Maroon the Quartermaster with a flagon of water.” Three changes need to be made to adjust the string as desired: Trim the leading and trailing whitespace. Replace the substring First Mate with Quartermaster. Remove "and a pistol!" Add a period at the end of the sentence. A “chaining1” method which will apply in sequence 4 operations to perform the above. We will use the trim, replace, and substring methods, in this order. Thus the chaining1 method will receive a string msg1 and return a string msg2. Make sure msg2 is printed. A “chaining2” method which will apply the 4 operations above in one single statement. Thus the chaining2 method will receive a string msg1 and return as string msg2. Make sure msg2 is printedarrow_forward
- Write a Java program to take nth number from the user. So your code have to print the Fibonacci Number using Iteration. You have to handle all the base cases in your codearrow_forwardNeeds to be written in java and completed using "for loops" or "nested for loops" and in one program just seperate methods: Write a program that calls these three methods. method 1 should print: 5 4 3 2 1 4 3 2 1 3 2 1 2 1 1 method 2 should print: 1 2 3 4 5 1 2 3 4 1 2 3 1 2 1 method 3 should create and array and store 10 multiples of 5 and print it out. Use for loop to generate the multiples and then print them out using a second for loop.arrow_forwardPlease complete the task by yourself only in JAVA with explanation. Don't copy. Thank you. Using quicksort to sort an array of car objects by various criteria. Define a class Car as follows: class Car { public String make; public String model; public int mpg; // Miles per gallon } b) Implement a comparator called CompareCarsByDescendingMPG that can be passed as an argument to the quicksort method from the lecture notes. CompareCarsByDescendingMPG should return a value that will cause quicksort to sort an array of cars in descending order (from largest to smallest) by mpg.arrow_forward
- Please help me solve this with java .... just the HangMan HangMan instruction class : • HangMan is a game in which a player tries to guess a word based on a given hint. For example, if the given hint is “movie”, then the player must guess a movie name. If the given hint is a “country”, then the player must guess a country name, and so on.• The game starts by showing a message on the screen that shows the hint and all letters in the word but obscured as dashes (-). Then, the game will allow the player to guess 5 letters. If the player gives a letter that actually exists in the word, then this letter will be revealed. Afterwards, the game will ask the player to give the answer. If the given answer is correct, then the game will show a message that the player has won 5 points. Otherwise, the game will show a message that the player has lost. Below is one possible game scenario, in which the word is “iron man”, and the hint is “movie”. Note that the text in green color is the…arrow_forward3. Consider how a Java program reads input from the keyboard. O O Give three methods from the Scanner class that you can use to read input from the keyboard with Scanner sc = new Scanner(System.in); Which method is used to read an integer with the scanner sc in 3a? Can you use the Scanner class to read an integer twice from the keyboard with the method you identified in 3b? If so, give the code that will allow that to happen. If not, explain what your program should do to use that word multiple times. When mixing Scanner methods in a program (i.e., calling different methods consecutively), which Scanner method will appear to read nothing from the keyboard if following another Scanner method? (If you do not know, put a question mark and move on). Consider what happens when your Java program writes output to the monitor (console). Give two methods that you can use to write output to the monitor.arrow_forwardI need help making a JAVA codearrow_forward
- Computer Networking: A Top-Down Approach (7th Edi...Computer EngineeringISBN:9780133594140Author:James Kurose, Keith RossPublisher:PEARSONComputer Organization and Design MIPS Edition, Fi...Computer EngineeringISBN:9780124077263Author:David A. Patterson, John L. HennessyPublisher:Elsevier ScienceNetwork+ Guide to Networks (MindTap Course List)Computer EngineeringISBN:9781337569330Author:Jill West, Tamara Dean, Jean AndrewsPublisher:Cengage Learning
- Concepts of Database ManagementComputer EngineeringISBN:9781337093422Author:Joy L. Starks, Philip J. Pratt, Mary Z. LastPublisher:Cengage LearningPrelude to ProgrammingComputer EngineeringISBN:9780133750423Author:VENIT, StewartPublisher:Pearson EducationSc Business Data Communications and Networking, T...Computer EngineeringISBN:9781119368830Author:FITZGERALDPublisher:WILEY





