1. Consider the two files below. Counter.java allows you to keep a count of anyt
ID: 3689933 • Letter: 1
Question
1. Consider the two files below. Counter.java allows you to keep a count of anything you wish. UseCounter.java is a simulation of 100 coin flips that will result in either tails or heads/ Complete the code in UseCounter.java for the blanks labeled A-D so that it correctly uses the Counter objects to complete this simulation.
File 1:
public class Counter {
//store the current value of the counter
private int value = 0;
public void increment() {
this.value++;
public int getValue() {
return this.value;
}
}
File 2:
public class UseCounter {
public static void main(String[] args) {
Counter headCount = new Counter();
Coutner tailCount = new Counter();
int flip;
for(flip = 0; flip < 100; flip++) {
//generate a random floating point number between 0.0 and 1.0
if(Math.random() < 0.5) { //count a heads flip
------A-------;
}
else { //count a tails flip
----B----;
}
System.out.println("Num. tails: " + ----C-----);
System.out.println("Num. heads: " + -----D----):
}
}
2. Write a constructor for Counter.java which takes a single integer parameter and allows the user to start counting at the value of that integer.
3. after question2 you will get the folling error for UseCounter.java
UseCounter. java:4: cannot find symbol
symbol: counstructor Counter()
location: class Coutner
Counter headCount = new Counter();
a. explain why you now get this error but before compiled correctly
b. rewrite the two lines which are causing the error in UseCouter.java so that original simulation still works as desribed
Explanation / Answer
UseCounter.java
public class UseCounter {
public static void main(String[] args) {
Counter headCount = new Counter(5);
Counter tailCount = new Counter(5);
int flip;
for(flip = 0; flip < 100; flip++) {
//generate a random floating point number between 0.0 and 1.0
if(Math.random() < 0.5) { //count a heads flip
headCount.increment();
}
else { //count a tails flip
tailCount.increment();
}
System.out.println("Num. tails: " + tailCount.getValue());
System.out.println("Num. heads: " + headCount.getValue());
}
}
}
Counter.java
public class Counter {
//store the current value of the counter
private int value = 0;
public Counter(int n){
this.value = n;
}
public void increment() {
this.value++;
}
public int getValue() {
return this.value;
}
}
Output:
Num. tails: 6
Num. heads: 5
Num. tails: 7
Num. heads: 5
Num. tails: 8
Num. heads: 5
Num. tails: 9
Num. heads: 5
Num. tails: 10
Num. heads: 5
Num. tails: 10
Num. heads: 6
Num. tails: 10
Num. heads: 7
Num. tails: 10
Num. heads: 8
Num. tails: 10
Num. heads: 9
Num. tails: 11
Num. heads: 9
Num. tails: 12
Num. heads: 9
Num. tails: 12
Num. heads: 10
Num. tails: 13
Num. heads: 10
Num. tails: 13
Num. heads: 11
Num. tails: 14
Num. heads: 11
Num. tails: 15
Num. heads: 11
Num. tails: 15
Num. heads: 12
Num. tails: 16
Num. heads: 12
Num. tails: 16
Num. heads: 13
Num. tails: 16
Num. heads: 14
Num. tails: 16
Num. heads: 15
Num. tails: 17
Num. heads: 15
Num. tails: 17
Num. heads: 16
Num. tails: 18
Num. heads: 16
Num. tails: 19
Num. heads: 16
Num. tails: 20
Num. heads: 16
Num. tails: 21
Num. heads: 16
Num. tails: 21
Num. heads: 17
Num. tails: 22
Num. heads: 17
Num. tails: 22
Num. heads: 18
Num. tails: 22
Num. heads: 19
Num. tails: 22
Num. heads: 20
Num. tails: 23
Num. heads: 20
Num. tails: 24
Num. heads: 20
Num. tails: 25
Num. heads: 20
Num. tails: 25
Num. heads: 21
Num. tails: 25
Num. heads: 22
Num. tails: 26
Num. heads: 22
Num. tails: 26
Num. heads: 23
Num. tails: 26
Num. heads: 24
Num. tails: 26
Num. heads: 25
Num. tails: 27
Num. heads: 25
Num. tails: 28
Num. heads: 25
Num. tails: 28
Num. heads: 26
Num. tails: 28
Num. heads: 27
Num. tails: 28
Num. heads: 28
Num. tails: 28
Num. heads: 29
Num. tails: 29
Num. heads: 29
Num. tails: 30
Num. heads: 29
Num. tails: 30
Num. heads: 30
Num. tails: 30
Num. heads: 31
Num. tails: 30
Num. heads: 32
Num. tails: 31
Num. heads: 32
Num. tails: 31
Num. heads: 33
Num. tails: 32
Num. heads: 33
Num. tails: 33
Num. heads: 33
Num. tails: 34
Num. heads: 33
Num. tails: 34
Num. heads: 34
Num. tails: 34
Num. heads: 35
Num. tails: 34
Num. heads: 36
Num. tails: 35
Num. heads: 36
Num. tails: 36
Num. heads: 36
Num. tails: 37
Num. heads: 36
Num. tails: 38
Num. heads: 36
Num. tails: 39
Num. heads: 36
Num. tails: 39
Num. heads: 37
Num. tails: 39
Num. heads: 38
Num. tails: 40
Num. heads: 38
Num. tails: 41
Num. heads: 38
Num. tails: 42
Num. heads: 38
Num. tails: 43
Num. heads: 38
Num. tails: 44
Num. heads: 38
Num. tails: 44
Num. heads: 39
Num. tails: 45
Num. heads: 39
Num. tails: 45
Num. heads: 40
Num. tails: 46
Num. heads: 40
Num. tails: 46
Num. heads: 41
Num. tails: 46
Num. heads: 42
Num. tails: 46
Num. heads: 43
Num. tails: 47
Num. heads: 43
Num. tails: 47
Num. heads: 44
Num. tails: 47
Num. heads: 45
Num. tails: 48
Num. heads: 45
Num. tails: 48
Num. heads: 46
Num. tails: 49
Num. heads: 46
Num. tails: 50
Num. heads: 46
Num. tails: 50
Num. heads: 47
Num. tails: 51
Num. heads: 47
Num. tails: 51
Num. heads: 48
Num. tails: 52
Num. heads: 48
Num. tails: 53
Num. heads: 48
Num. tails: 53
Num. heads: 49
Num. tails: 53
Num. heads: 50
Num. tails: 54
Num. heads: 50
Num. tails: 54
Num. heads: 51
Num. tails: 55
Num. heads: 51
Num. tails: 55
Num. heads: 52
Num. tails: 55
Num. heads: 53
Num. tails: 56
Num. heads: 53
Num. tails: 56
Num. heads: 54
Explanation:
You got that error becuase In Counter class you have mentioned parameterized constructor which is not default one. But you are trying create an object with default constructor that is no parameter constructor which is not available in Counter class.
But Initially it was working becuase you have not mentioned the parameterized constructor in Counter class and you created an objects with default constructor which is allowed when parameterized constructor not defined explicitly.
Related Questions
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.