Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
Hey Leute ich habe mal eine Frage und zwar habe ich folgendes Programm, dass 10 zufällige Zahlen ausgibt... ich muss nun die Arrays in einem Diagramm ausgeben ungefähr so
Wie ihr sehen könnt muss dies nicht geordnet werden also ich brauche wirklich nur die Ausgabe in einem Balkendiagramm .. wie mache ich das mit g.drawString und einer paint() Methode ?!
Bin offen für allerlei Ratschläge ;-)
Achja also hier mein Code zum Arraymit 10 zufälligen Zahlen erstellen:
Java:
import java.util.Random;
public class Arraydiagramm
{
public int[] zahlen;
public Arraydiagramm()
{
zahlen = new int[10];
}
public void erzeugen() {
Random zufall = new Random();
for(int i=0;i<10;i++)
zahlen[i]=zufall.nextInt(1000);
}
public void ausgeben() {
for(int i=0;i<10;i+=10) {
System.out.println("\f");
System.out.println("Zahl1:" +"\t" +zahlen[i]);
System.out.println("Zahl2:" +"\t"+zahlen[i+1]);
System.out.println("Zahl3:" +"\t"+zahlen[i+2]);
System.out.println("Zahl4:" +"\t"+zahlen[i+3]);
System.out.println("Zahl5:" +"\t"+zahlen[i+4]);
System.out.println("Zahl6:" +"\t"+zahlen[i+5]);
System.out.println("Zahl7:" +"\t"+zahlen[i+6]);
System.out.println("Zahl8:" +"\t"+zahlen[i+7]);
System.out.println("Zahl9:" +"\t"+zahlen[i+8]);
System.out.println("Zahl10:" +"\t"+zahlen[i+9]);
}
}
}
Was soll die Schleife mit der Ausgabe dasstellen? oO
Fang doch klein an, such das Maximum raus, damit du weißt, wie groß die Balken werden sollen.
Versuch dann einfach nur Linien zu zeichnen, später dann Balken daraus machen etc.
Was willst du eigentlich mit drawString machen?
ok also habe gemerkt das mein erster Ansatz banane war.. ich hab nun mal ein Applet geschrieben ohne Ausgabe:
Java:
import java.awt.*;
import javax.swing.*;
import java.util.Random;
public class Diagrammausgabe extends JApplet
{
public int[] zahlen;
public void init()
{
zahlen = new int[10];
}
private static void bubbleSort(int[] zahlen) {
int n = zahlen.length;
int temp = 0;
for(int i=0; i < n; i++){
for(int j=1; j < (n-i); j++){
if(zahlen[j-1] > zahlen[j]){
//tausche die Elemente
temp = zahlen[j-1];
zahlen[j-1] = zahlen[j];
zahlen[j] = temp;
}
}
}
}
public void paint(Graphics g) {
Random zufall = new Random();
for(int i=0;i<10;i++)
zahlen[i]=zufall.nextInt(1000);
bubbleSort(zahlen);
for(int i=0;i<10;i++)
for(int j=0;j<10;j++)
g.drawString(""+zahlen[i*10+j],40+j*40,40+i*40);
}
}
So nun muss ich per bubble sort die arrays sortieren und dann in balkediagramm(Graphics g) ausgeben nicht wahr ?!
EDIT:
So habe nun mal die ArrayWerte per bubblesort sortiert soweit ich das beurteilen kann also fehlt jetzt nur noch die Ausgabe in einer graphischen Art und Weise
Das ist nicht ganz der Bubblesort-Verfahren...
Sicher, dass da keine ArrayIndexOutOfBounds-Exception fliegt?
Aber Sortierung und Zufallszahlerzeugung gehört nicht in die paint-Methode
ne bekomme keine exception und die zahl generierung und die sortierung hab ich jetzt anders platziert....naja also auf jeden fall klappt das programm jetzt soweit das ich 10 geordnete zahlen ausgegeben bekomme.. so jetzt brauche ich halt einen ansatz das graphisch darzustellen