Comp103 - Java
Histogram App
import java.util.Scanner;
import java.util.Random;
public class Histogram{
public static int readInt(String message){ //
Scanner sc = new Scanner(System.in); // allows user to input
System.out.println(message); // values
return sc.nextInt(); //
}
int numRandoms; //declare integers
int randomInt;
public void chooseNumRandoms(){
numRandoms = readInt("How many random numbers would you like?");
}
public int generator(){
Random generator = new Random();
randomInt = generator.nextInt(50) +1;
return randomInt;
}
public Histogram(){
chooseNumRandoms();
int[] a = new int[numRandoms];
for (int i = 0; i<a.length; i++) {
System.out.print(a[i] = generator());
System.out.print(" ");
}
System.out.println();
int decade1 = 0;
int decade2 = 0;
int decade3 = 0;
int decade4 = 0;
int decade5 = 0;
for (int i = 0; i < a.length; i++){
if(a[i] >= 0 && a[i] <= 10)
decade1++;
else if(a[i]>10 && a[i] <= 20)
decade2++;
else if(a[i] >20 && a[i] <= 30)
decade3++;
else if(a[i] >30 && a[i] <= 40)
decade4++;
else
decade5++;
}
// System.out.println(decade1 + " " + decade2 + " " +decade3 + " " + decade4 + " " + decade5);
System.out.print("1-10 |");
stars(decade1);
System.out.print("11-20 |");
stars(decade2);
System.out.print("21-30 |");
stars(decade3);
System.out.print("31-40 |");
stars(decade4);
System.out.print("41-50 |");
stars(decade5);
}
public static void stars(int numberOfStars) {
// output a line containing the specified number of stars
for (int i = 0; i < numberOfStars; i++) {
System.out.print('*');
}
System.out.println(); // output carriage return after the *'s
}
}
/*
public void groupNumbers(){
final int NUMNUMBERS = 50;
int[] decade1 = new int[NUMNUMBERS];
int[] lower = new int[NUMNUMBERS];
for (int i = 0; i < a.length; i++){
if(i >= 0 && i <= 50)
decade1[i]++;
}
}
}
/*
int numDecades = 5;
int[] decades = new int [5];
int decadeWidth = 10;
for (int i = 0; i < numDecades; i++){
int decade1 = 10;
int decade2 = 20;
int decade3 = 30;
int decade4 = 40;
int decade5 = 50;
decades[i] = inDecade(a,decade1,decade2,decade3,decade4,decade5);
}
}
public static int inDecade(double[]a, int decade1, int decade2, int decade3, int decade4, int decade5){
int count = 0;
for (int i = 0; i < a.length; i++){
if (a[i] <=decade1) count++;
}
return count;
}
}
/*
public static int inBucket (double[] a, int low, int high) {
int count = 0;
for (int i=0; i<a.length; i++) {
if (a[i] >= low && a[i] < high) count++;
}
return count;
}
}
public void groupNumbers(){
int numBuckets = 5;
int[] buckets = new int [5];
int bucketWidth = 50 / numBuckets;
for (int i = 0; i<numBuckets; i++) {
int low = i * bucketWidth;
int high = low + bucketWidth;
buckets[i] = inBucket(a, low, high);
}
}
/*
int[] array = new int[numRandoms];
public void randomArray(){
for (int i = 0; i < numRandoms; i++) {
double x = Math.random ();
System.out.println ((int)x );
}
}
public static double[] randomArray2 (int n) {
double[] a = new double[n];
for (int i = 0; i<a.length; i++) {
a[i] = Math.random ();
System.out.println(a[i]);
}
return a;
}
public void groupNumbers(){
Array[] array = {
//new Array("0-10"),
//new Array("10-20"),
//new Array("20-30"),
//new Array("30-40"),
//new Array("40-50"),
};
// for (Array numberGroup : numbers)
// System.out.println(numberGroup);
}
}
/*
public void groupNumbers(){
int numBuckets = 8;
int[] buckets = new int [8];
double bucketWidth = 1.0 / numBuckets;
for (int i = 0; i<numBuckets; i++) {
double low = i * bucketWidth;
double high = low + bucketWidth;
buckets[i] = inBucket(a, low, high);
}
}
public static int inBucket (double[] a, double low, double high) {
int count = 0;
for (int i=0; i<a.length; i++) {
if (a[i] >= low && a[i] < high) count++;
}
return count;
}
}
/*
public static double[] randomArray (int n) {
double[] a = new double[n];
for (int i = 0; i<a.length; i++) {
a[i] = Math.random ();
}
return a;
}
public static void printArray (double[] a) {
for (int i = 0; i<a.length; i++) {
System.out.println (a[i]);
}
}
*/
/*
int numValues = 8;
double[] array = randomArray (numValues);
printArray (array);
*/
/*
* public void displayArray(){
final int LIMIT = numRandoms;
int[] list = new int[LIMIT];
for(int index = 0; index < LIMIT; index++)
list[index] = index * randomInt;
// for (int arrayLength = LIMIT; )
// list[index + 1] = 99;
for(int value : list)
System.out.print(value + " ");
*/
import java.util.Scanner;
import java.util.Random;
public class Histogram{
public static int readInt(String message){ //
Scanner sc = new Scanner(System.in); // allows user to input
System.out.println(message); // values
return sc.nextInt(); //
}
int numRandoms; //declare integers
int randomInt;
public void chooseNumRandoms(){
numRandoms = readInt("How many random numbers would you like?");
}
public int generator(){
Random generator = new Random();
randomInt = generator.nextInt(50) +1;
return randomInt;
}
public Histogram(){
chooseNumRandoms();
int[] a = new int[numRandoms];
for (int i = 0; i<a.length; i++) {
System.out.print(a[i] = generator());
System.out.print(" ");
}
System.out.println();
int decade1 = 0;
int decade2 = 0;
int decade3 = 0;
int decade4 = 0;
int decade5 = 0;
for (int i = 0; i < a.length; i++){
if(a[i] >= 0 && a[i] <= 10)
decade1++;
else if(a[i]>10 && a[i] <= 20)
decade2++;
else if(a[i] >20 && a[i] <= 30)
decade3++;
else if(a[i] >30 && a[i] <= 40)
decade4++;
else
decade5++;
}
// System.out.println(decade1 + " " + decade2 + " " +decade3 + " " + decade4 + " " + decade5);
System.out.print("1-10 |");
stars(decade1);
System.out.print("11-20 |");
stars(decade2);
System.out.print("21-30 |");
stars(decade3);
System.out.print("31-40 |");
stars(decade4);
System.out.print("41-50 |");
stars(decade5);
}
public static void stars(int numberOfStars) {
// output a line containing the specified number of stars
for (int i = 0; i < numberOfStars; i++) {
System.out.print('*');
}
System.out.println(); // output carriage return after the *'s
}
}
/*
public void groupNumbers(){
final int NUMNUMBERS = 50;
int[] decade1 = new int[NUMNUMBERS];
int[] lower = new int[NUMNUMBERS];
for (int i = 0; i < a.length; i++){
if(i >= 0 && i <= 50)
decade1[i]++;
}
}
}
/*
int numDecades = 5;
int[] decades = new int [5];
int decadeWidth = 10;
for (int i = 0; i < numDecades; i++){
int decade1 = 10;
int decade2 = 20;
int decade3 = 30;
int decade4 = 40;
int decade5 = 50;
decades[i] = inDecade(a,decade1,decade2,decade3,decade4,decade5);
}
}
public static int inDecade(double[]a, int decade1, int decade2, int decade3, int decade4, int decade5){
int count = 0;
for (int i = 0; i < a.length; i++){
if (a[i] <=decade1) count++;
}
return count;
}
}
/*
public static int inBucket (double[] a, int low, int high) {
int count = 0;
for (int i=0; i<a.length; i++) {
if (a[i] >= low && a[i] < high) count++;
}
return count;
}
}
public void groupNumbers(){
int numBuckets = 5;
int[] buckets = new int [5];
int bucketWidth = 50 / numBuckets;
for (int i = 0; i<numBuckets; i++) {
int low = i * bucketWidth;
int high = low + bucketWidth;
buckets[i] = inBucket(a, low, high);
}
}
/*
int[] array = new int[numRandoms];
public void randomArray(){
for (int i = 0; i < numRandoms; i++) {
double x = Math.random ();
System.out.println ((int)x );
}
}
public static double[] randomArray2 (int n) {
double[] a = new double[n];
for (int i = 0; i<a.length; i++) {
a[i] = Math.random ();
System.out.println(a[i]);
}
return a;
}
public void groupNumbers(){
Array[] array = {
//new Array("0-10"),
//new Array("10-20"),
//new Array("20-30"),
//new Array("30-40"),
//new Array("40-50"),
};
// for (Array numberGroup : numbers)
// System.out.println(numberGroup);
}
}
/*
public void groupNumbers(){
int numBuckets = 8;
int[] buckets = new int [8];
double bucketWidth = 1.0 / numBuckets;
for (int i = 0; i<numBuckets; i++) {
double low = i * bucketWidth;
double high = low + bucketWidth;
buckets[i] = inBucket(a, low, high);
}
}
public static int inBucket (double[] a, double low, double high) {
int count = 0;
for (int i=0; i<a.length; i++) {
if (a[i] >= low && a[i] < high) count++;
}
return count;
}
}
/*
public static double[] randomArray (int n) {
double[] a = new double[n];
for (int i = 0; i<a.length; i++) {
a[i] = Math.random ();
}
return a;
}
public static void printArray (double[] a) {
for (int i = 0; i<a.length; i++) {
System.out.println (a[i]);
}
}
*/
/*
int numValues = 8;
double[] array = randomArray (numValues);
printArray (array);
*/
/*
* public void displayArray(){
final int LIMIT = numRandoms;
int[] list = new int[LIMIT];
for(int index = 0; index < LIMIT; index++)
list[index] = index * randomInt;
// for (int arrayLength = LIMIT; )
// list[index + 1] = 99;
for(int value : list)
System.out.print(value + " ");
*/
