You will develop a program to count the number of times each number in the range is generated. Your program will generate 100 numbers in the range [0, 9] and you will print a histogram similar to the histogram shown below.
0 ********
1 ***********
2 ******
3 ****************
4 **************
5 *****
6 ************
7 ***********
8 ********
9 *********
To print the histogram shown above, your program must record the number of times each number is generated.
I am trying to pass the num and count into the print method and then pass it through the switch statement to print it as asterisks. but it is giving me an error. Advice?
required: int,int found: no arguments reason: actual and formal argument lists differ in length /tmp/java_9JsuaS/RandomSrv.java:55: error: method print in class RandomSrv cannot be applied to given types; System.out.print("9 " + this.print()); ^
import java.util.Random;
public class RandomSrv {
public void genNums(int total)
{
for(int counter = 0; counter < total; counter++) //counter for the random gen nums//
{
int UPPER_BOUND = 10;//max number it will go to: 9
int count0 = 0; //stores counter//
int count1 = 0;
int count2 = 0;
int count3 = 0;
int count4 = 0;
int count5 = 0;
int count6 = 0;
int count7 = 0;
int count8 = 0;
int count9 = 0;
int count = 0;
Random randObj = new Random(); //creating randoms object//
int num = randObj.nextInt(UPPER_BOUND);//num ranges 1-10//
print(num, count);
switch (num) //counts it into catagories//
{
case 0: count = count0++;
System.out.print("0 " + this.print());
break;
case 1: count = count1++;
System.out.print("1 " + this.print());
break;
case 2: count = count2++;
System.out.print("2 " + this.print());
break;
case 3: count = count3++;
System.out.print("3 " + this.print());
break;
case 4: count = count4++;
System.out.print("4 " + this.print());
break;
case 5: count = count5++;
System.out.print("5 " + this.print());
break;
case 6: count = count6++;
System.out.print("6 " + this.print());
break;
case 7: count = count7++;
System.out.print("7 " + this.print());
break;
case 8: count = count8++;
System.out.print("8 " + this.print());
break;
case 9: count = count9++;
System.out.print("9 " + this.print());
break;
}
}
}
public void print(int num, int count) //converting them to astericks//
{
for(int x = 0; x < count; x++)
{
System.out.println("*");
}
}
}
Aucun commentaire:
Enregistrer un commentaire