Java-programmering - hur gör man histogram?

Java-programmering - hur gör man histogram?

med en inledande Computer Science klass, kan detta program som jag skrev nyligen hjälpa dig. I grund och botten ber det användaren att mata in en massa siffror (1-100). Sedan placeras siffrorna i kategorier av antingen 1-10,11-20,21-30, etc. Varje "*" representerar 5 element. Detta program är inte så effektiva... men sedan igen, det är en inledande Computer Science klass, kommer det att arbeta och åtminstone ge dig en känsla av riktning!

/**
* Utforma och genomföra ett program som läser en uppsättning heltal i intervallet 1 till 100 från användaren och
sedan skapar diagrammet visar hur ofta värden dök upp. Diagrammet ska se ut det som visas nedan.
Det visar hur många värden föll i intervallet från 1 till 10, 11 till 20, och så vidare. Skriva ut en asterisk för var femte
värden i varje kategori. Till exempel om en kategori hade 17 värden, ut tre asterisker i den raden. Om en
Kategori hade 4 värden, skriv inte ut några asterisker i den raden. Se till att inkludera två klasser StarTable och
StarTablePrgm. Känn dig fri att göra input/output mer förbrukaren vänlig.
*/

import java.util.ArrayList;
import java.util.Scanner;

Margaret Wang skapar du programmet
allmän klass StarTable
{
privat ArrayList setOfInt;
Standardkonstruktör
offentliga StarTable()
{
setOfInt = ny ArrayList();
}
Metod för att läsa och lägga till uppsättningen heltalsvärden
public void addValues()
{
Scanner i = nya Scanner(System.in);
System.out.println ("ingång ett heltal (1-100). Tryck på enter för att mata in det i matrisen. Ange Q att sluta lägga: ");
String userInput = in.next();
medan (! () userInput.equalsIgnoreCase("Q")))
{
int addInt = Integer.parseInt(userInput);
setOfInt.add(addInt);
userInput = in.next();
}
}
offentliga sträng printTable()
{
räknar hur många nummer som passar in i varje rad
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 count10 = 0;
söker efter de nummer som passar i spänner
för (int jag = 0; jag< setofint.size();="">
{
om (setOfInt.get(i)<=>
{
count1 ++;
}
annars om (setOfInt.get(i)<=>
{
count2 ++;
}
annars om (setOfInt.get(i)<=>
{
count3 ++;
}
annars om (setOfInt.get(i)<=>
{
count4 ++;
}
annars om (setOfInt.get(i)<=>
{
count5 ++;
}
annars om (setOfInt.get(i)<=>
{
count6 ++;
}
annars om (setOfInt.get(i)<=>
{
count7 ++;
}
annars om (setOfInt.get(i)<=>
{
count8 ++;
}
annars om (setOfInt.get(i)<=>
{
count9 ++;
}
annars om (setOfInt.get(i)<=>
{
count10 ++;
}
annat
kasta nya IllegalArgumentException ("du har angett ett heltal som kan inte räknas");
}
Skapar tabellen
Strängtabell = "";
för (int en = 0; en< 10;="">
{
tabell += en * 10 + 1 + "-" + (a + 1) * 10 + "|";
om (9)
{
för (int j = 0; j< count10/5;="" j++="">
tabell += "*";
}
tabell += "\n";
}
returnera tabell;
}
}