array werte ausgeben/zugreifen

Rouven50

Aktives Mitglied
hey
haben folgende aufgabenstellung:
Wir simulieren die Abstimmung bei "Deutschland sucht den Superstar". Die Zuschauer können anrufen und ihren Favoriten aus einer bestimmten Anzahl an Sängerinnen und Sängern wählen. Auf dem TV ausgeben wird letztendlich pro Sängerin bzw. Sänger die Anzahl an Zuschauern, die für sie bzw. ihn gestimmt haben, und zwar prozentual.
Schreiben Sie Java-Programm, in dem der Benutzer zunächst die Anzahl an Sängern und anschließend für jeden Sänger die Anzahl an Anrufen eingeben muss. Speichern Sie die Daten in einem geeigneten Array ab. Anschließend soll das Ergebnis der Abstimmung in Form eines Balkendiagramms auf den Bildschirm ausgegeben werden. Und zwar sollen entsprechend der prozentualen Verteilung der Telefonanrufe jeweils Balken aus *-Zeichen (100 % entsprechen dabei 100 *- Zeichen) sowie anschließend der absolute Wert der Telefonanrufe auf den Bildschirm ausgegeben werden.

Beispiel für einen Programmablauf (Eingaben stehen in <>):
Anzahl der Saenger (> 0): <4>
Anrufe für Saenger 1 (>= 0): <50>
Anrufe für Saenger 2 (>= 0): <50>
Anrufe für Saenger 3 (>= 0): <40>
Anrufe für Saenger 4 (>= 0): <60>
Abstimmungsergebnis:
************************* 50
************************* 50
******************** 40
****************************** 60

das ist mein code den ich bis jetzt hab... :
Java:
public class Ue17_aufgabe1 {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		int zahl = IO.readInt("Bitte geben Sie die Anzahl der Saenger ein: ");
		
		int[] anzahl = new int[zahl];
		
		zuweisen(anzahl);

	}
	
	static void zuweisen(int[] anzahl){
		int zaehler = 1;
		for(int i=0; i<anzahl.length;i++){
			anzahl[i] = IO.readInt("Bitte geben Sie die Prozentzahl für Saenger "+ zaehler +" ein: ");
			zaehler++;
		}
		IO.println("---------");
	}

}

nun ist jetzt meine frage wie man auf die gespeicherten werte von anzahl zugreifen kann... wenn ich ne neue for schleife einbaue die mir dann zb für saenger 1, 40 sterne ausgeben soll dann ist i ja nicht mehr initialisiert...kann mir jemand nen tipp geben wie man das umsetzen muss..finde nichts im inet...außer wenn man halt speziell ein werteinhalt von einem array abfragen möchte...aber nicht für beliebig viele..
 

nrg

Top Contributor
du hast jetzt deine Werte in dem Array anzahl.

Dabei gilt:
index+1 = Nr des Sänders
Wert = Anzahl der Anrufe

Nun musst du erstmal die Summe aller Anrufe ermitteln. Das machst du einfach mittels einer for-schleife. Dann kannst du mit der Summe die prozentualen Anteile errechnen und diese dann 1zu1 in Sternchen übernehmen. Dafür benötigst du nochmal eine for-schleife (man könnte sich evtl. eine sparen, wenn man Initialisierung und Summierung kombiniert).
Wo ist da jetzt genau dein Probelm?

edit: ahja, dein zaehler ist überflüssig. könnte man auch so schreiben (das ist aber eher ein Schönheitsfehler):
Java:
	        for(int i=0; i<anzahl.length;i++){
	            anzahl[i] = IO.readInt("Bitte geben Sie die Prozentzahl für Saenger "+ (i+1) +" ein: ");
	        }
 
Zuletzt bearbeitet:

Rouven50

Aktives Mitglied
ja genau..nur ich weiß nicht wie ich die summe der anrufe pro sänger ermitteln kann mit einer forschleife..

hab mir das so gedacht
for(int s=0;s<anzahl.length;s++){
IO.print("*")
}

aber i ist dann ja nict initialisiert... ich muss ja der reihe nach die werte abfragen der einzelnen arrays... also für saenger "0" , "1" ,"2" und "3" ..da habe ich ja vorher die werte drin gespeichert(schon in prozent angegeben) aber jetzt weiß ich halt nicht wie ich die werte der gespeicherten vektoren abrufen kann

mfg



edit: das habe ich auch est so gemacht nur irgendwie hat er mir dann 01 statt 1 ausgegeben
 
Zuletzt bearbeitet:

nrg

Top Contributor
ah stimmt hast recht. musst es auch in Klammern schreiben ;) (siehe edit oben).

Für die Summe einfach die Werte des Arrays in einer For-Schleife addieren (man könnte hier auf foreach nehmen aber das lassen wir jetzt mal noch weg):

Java:
	        int sum = 0;
	        for (int i = 0; i < anzahl.length; i++) {
	        	sum += anzahl[i];
	        }
 

Rouven50

Aktives Mitglied
ja super klappt:) dankeschön!! und nen guten rutsch;)

man musste aber noch sum+=anzahl zu sum = anzahl ändern damit sich der wert nicht immer um die neue zahl erhöht...

Java:
int sum = 0;
        for (int i = 0; i < anzahl.length; i++) {
             sum = anzahl[i];
             for(int z=0; z<sum;z++){
            	 IO.print("*");
             }IO.println(" " +sum);
         }

edit:
ähm ja aber oben in dem beispiel (was vorgegeben war) stehen ja in den <> klammern die eingegebenen werte...und unten(in ausgeführter form) die selben werte... denk nicht das wir das extra noch umrechnen sollten...aber das wäre ja dann nicht all zu schwer ...die gesamtzahl mit gesamt +=anzahl ermitteln und die dann durch die anzahl des saengers teilen und den wert dann ausgeben lassen..
 
Zuletzt bearbeitet:

nrg

Top Contributor
Ne, das ist aber nicht nach der Angabe und hat auch nichts mehr mit einer Summierung zu tun :). ich hab aus Langeweile die Aufgabe auch mal gemacht. Bin jetzt zu faul das weiter zu erklären. Habs mal an deinen Ansatz angelehnt. Vllt wird es ja dadurch für dich klarer, was du falsch machst.

(allerdings ungetestet, weil ich die Klasse IO nicht kenne)
Java:
	    public static void main(String[] args) {   
	        int[] saenger = new int[IO.readInt("Anzahl der Saenger (> 0): ")];
	        ausgeben(saenger, zuweisen(saenger));
	    }

	    private static int zuweisen(int[] saenger){
	    	int sum = 0;
	        for (int i = 0; i < saenger.length; i++) {
	        	int value = IO.readInt("Anrufe für Saenger " + (i+1) + " (>= 0): ");
	        	sum += value;
	        	saenger[i] = value;
	        }
	        return sum;
	    }
	 
	    private static void ausgeben(int[] saenger, int sum) {
	    	System.out.println("Abstimmungsergebnis:");
	    	for (int i = 0; i < saenger.length; i++) {
	    		int procent = Math.round(((100f / sum * saenger[i]) * 100) / 100);
	    		System.out.println(getStars(procent) + " " + saenger[i]);
	    	}
	    }
	    
	    private static String getStars(int amount) {
	    	StringBuilder sb = new StringBuilder();
	    	for (int i = 0; i < amount; i++)
	    		sb.append('*');
	    	return sb.toString();
	    }


edit:
ähm ja aber oben in dem beispiel (was vorgegeben war) stehen ja in den <> klammern die eingegebenen werte...und unten(in ausgeführter form) die selben werte... denk nicht das wir das extra noch umrechnen sollten...aber das wäre ja dann nicht all zu schwer ...die gesamtzahl mit gesamt +=anzahl ermitteln und die dann durch die anzahl des saengers teilen und den wert dann ausgeben lassen..


ja aber alle Sterne sollen zusammen 100 ergeben. Das wird es so aber nicht :)
 
Zuletzt bearbeitet:

nrg

Top Contributor
Java:
		int sum = 0;
		for (int i = 0; i < anzahl.length; i++) {
			sum = anzahl[i];
			for(int z=0; z<sum;z++){
				IO.print("*");
			}
			IO.println(" " +sum);
		}

wenn du es so machst, kannst du dir sum sparen:

Java:
		for (int i = 0; i < anzahl.length; i++) {
			for(int z = 0; z < anzahl[i]; z++) {
				IO.print("*");
			}
			IO.println(" " + anzahl[i]);
		}
 

Rouven50

Aktives Mitglied
ohja darauf habe ich gar nicht geachtet..dachte die sterne sind gleich die länge der eingegebenen werte - okay top ihc bastel mal an meinem code bissl rum;D
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
K Array alle Werte aufsummieren und ausgeben Java Basics - Anfänger-Themen 6
D Array Werte einlesen und ausgeben? Java Basics - Anfänger-Themen 8
stylegangsta Anzahl der gefunden array Werte ausgeben Java Basics - Anfänger-Themen 6
E Array Anzahl verschiedener Werte ausgeben Java Basics - Anfänger-Themen 3
C Array - Werte speichern und ausgeben Java Basics - Anfänger-Themen 5
C Erste Schritte Array Werte Ausgeben Probleme mit variable Java Basics - Anfänger-Themen 21
B Datentypen Werte in einen Array einlesen und danach die beiden höchsten Werte wieder ausgeben Java Basics - Anfänger-Themen 3
P doppelte Werte im Array ausgeben. Java Basics - Anfänger-Themen 4
P Werte im Array abwechselnd ausgeben Java Basics - Anfänger-Themen 4
F Array - Vorkommen der einzelnen Werte ausgeben Java Basics - Anfänger-Themen 8
S Bestimmte werte aus einem Array löschen Java Basics - Anfänger-Themen 2
E Reihenfolge der Werte umdrehen (mittels statischem int-Array Java Basics - Anfänger-Themen 3
A CSv.Datei einlesen und die werte in zweidemosional Int Array speichern Java Basics - Anfänger-Themen 9
Chris.089 2 Werte im Array tauschen Java Basics - Anfänger-Themen 6
Igig1 Wie lasse ich dir Werte in einem Array zusammenrücken? Java Basics - Anfänger-Themen 4
Igig1 Welche Werte sind als default Werte in einem Array, der als Datentyp eine Klasse hat? Java Basics - Anfänger-Themen 1
sashady ursprüngliche Array-Werte bei erneutem Aufruf? Java Basics - Anfänger-Themen 7
E In Array Werte einfügen? Java Basics - Anfänger-Themen 5
HighLife Bestimmte Werte aus Array zählen Java Basics - Anfänger-Themen 15
G Array Werte addieren Java Basics - Anfänger-Themen 4
J Methoden Frage: Array-Werte in anderer Methode ändern Java Basics - Anfänger-Themen 4
C Array-Werte werden gemischt, ohne Logik Java Basics - Anfänger-Themen 2
L 2 Dimensional Array werte überschreiben Java Basics - Anfänger-Themen 1
J Neue Werte in ein Array hinzugeben Java Basics - Anfänger-Themen 8
L Wie frage ich ab, ob in einem Array, Werte doppelt vorkommen? Java Basics - Anfänger-Themen 4
Kirby.exe Fehlende Int Werte aus Array mit streams finden Java Basics - Anfänger-Themen 19
Ellachen55 Wie nach häufigste Werte im Array suchen? Java Basics - Anfänger-Themen 2
B Werte aus einem Unterprogramm in ein Array schreiben Java Basics - Anfänger-Themen 2
L Nur Bestimmte Werte aus einem Array in ein anderes Speichern Java Basics - Anfänger-Themen 11
M prüfen ob alle array werte gleich sind Java Basics - Anfänger-Themen 27
D Werte aus einem BinärBaum in einem Array speichern Java Basics - Anfänger-Themen 1
L Werte zufällig aus Array zurückgeben Java Basics - Anfänger-Themen 15
L Gleiche Werte aus Array aussortieren Java Basics - Anfänger-Themen 5
L Gleiche Werte im Array hochzählen Java Basics - Anfänger-Themen 4
N Array-Werte zusammenfassen Java Basics - Anfänger-Themen 20
J Array Werte benutzen Java Basics - Anfänger-Themen 16
D Erste Schritte Array Werte an Methode übergeben Java Basics - Anfänger-Themen 6
S Array Werte vertauschen Java Basics - Anfänger-Themen 2
F Werte in 2D-Array mit anderem 2D-Array überschreiben Java Basics - Anfänger-Themen 2
R Werte aus Array addieren und Mittelwert bilden Java Basics - Anfänger-Themen 2
S Werte in Array einlesen Java Basics - Anfänger-Themen 2
B Array Werte zuweisen Java Basics - Anfänger-Themen 4
U Array werte speichern und für berechnungen nutzen Java Basics - Anfänger-Themen 4
K Datentypen Werte im Array vertauschen Java Basics - Anfänger-Themen 11
J Variablen Doppelte Werte in Int Array Java Basics - Anfänger-Themen 10
J Integer-Werte in Array ein- bzw. auslesen Java Basics - Anfänger-Themen 7
C Werte im Array sortieren Java Basics - Anfänger-Themen 5
A Array in Subklasse - Werte aus Superklasse Java Basics - Anfänger-Themen 4
D Array in Endlosschleife überschreibt vorherige Werte Java Basics - Anfänger-Themen 4
T Array soll Werte aufnehmen Java Basics - Anfänger-Themen 2
C Array kopieren und nur bestimmte Werte speichern Java Basics - Anfänger-Themen 6
J Werte der For-Schleife in Array abspeichern Java Basics - Anfänger-Themen 1
L [ARRAY] Werden hier die Indezes oder die Werte vergliechen? Java Basics - Anfänger-Themen 4
C Rekursion auf einem Array(negative werte addieren) Java Basics - Anfänger-Themen 4
B Doppelte Werte aus Array entfernen ohne Import - Algorithmus Java Basics - Anfänger-Themen 5
M Kann einen Array nicht füllen, im Nachhinein nur "null"-Werte Java Basics - Anfänger-Themen 11
D Neue Array übernimmt Werte des alten nicht Java Basics - Anfänger-Themen 5
S Array befüllen & auf doppelte werte prüfen Java Basics - Anfänger-Themen 6
M In Testklasse einem Array Werte übergeben Java Basics - Anfänger-Themen 6
B Werte über Scanner in ein 3 dim String Array schreiben Java Basics - Anfänger-Themen 7
F Einzelne Werte aus einem Array vergleichen? Java Basics - Anfänger-Themen 8
D Array auslesen und und Werte in ein anderes array anlegen Java Basics - Anfänger-Themen 5
J Integer Werte in Array einlesen Java Basics - Anfänger-Themen 6
C Erste Schritte Integer Werte in Array kopieren Java Basics - Anfänger-Themen 21
T Methoden in einer array werte vergleichen Java Basics - Anfänger-Themen 6
S Werte aus Array auslesen über Variableninhalt Java Basics - Anfänger-Themen 2
S Einzelne Werte von Array-Feld löschen Java Basics - Anfänger-Themen 15
T Beliebig viele Werte in Array zwischenspeichern Java Basics - Anfänger-Themen 15
K Erste Schritte Array mit 3 werte in eine Zeile -- Hilfe! Java Basics - Anfänger-Themen 2
T Aus object Array Double Werte ziehen Java Basics - Anfänger-Themen 10
2 Alle Werte die mit n Würfeln mit m Seiten geworfen werden können in ein n Dimensionales Array Java Basics - Anfänger-Themen 15
B Werte aus JTextArea in einem String Array ablegen Java Basics - Anfänger-Themen 4
Spin Array werte zusammenrechnen Java Basics - Anfänger-Themen 18
D werte in array speichern Java Basics - Anfänger-Themen 26
B Werte aus einem Array umwandeln Java Basics - Anfänger-Themen 10
J Array Werte subtrahieren Java Basics - Anfänger-Themen 8
J int[] array Werte einem int übergeben Java Basics - Anfänger-Themen 9
M Byte Array: Werte größer 127? Java Basics - Anfänger-Themen 11
J Rekursion über int und array gibt zu wenige Werte zurück Java Basics - Anfänger-Themen 5
S Char Array Werte in short variablen speichern Java Basics - Anfänger-Themen 4
G Array-Werte Zaehlung Java Basics - Anfänger-Themen 14
G Zählen gleiche Werte in Array Java Basics - Anfänger-Themen 5
X Errechte Werte automatisch in einem Array speichern Java Basics - Anfänger-Themen 11
7 Array speichert Werte nicht? NullPointerException Java Basics - Anfänger-Themen 2
M an String-Array weitere Werte anhängen Java Basics - Anfänger-Themen 22
G array werte in array2 schreiben Java Basics - Anfänger-Themen 6
G Werte im Array zählen Java Basics - Anfänger-Themen 13
G static array liefert falsche Werte zurück Java Basics - Anfänger-Themen 2
K Neue Werte für gleiche Array-Indexe Java Basics - Anfänger-Themen 16
D Werte in Array speicher Java Basics - Anfänger-Themen 8
J Verhindern das Werte in einem Array verloren gehen Java Basics - Anfänger-Themen 13
G Array werte auslesen Java Basics - Anfänger-Themen 6
G Dem array automatisch werte von -10 bis +10 zuweisen Java Basics - Anfänger-Themen 6
S Grösste Werte im Array! Java Basics - Anfänger-Themen 4
F Einem Array Werte zuweisen. (illegal start of expression) Java Basics - Anfänger-Themen 4
S Array Werte inkrem. Java Basics - Anfänger-Themen 2
P Aus Array Werte rauslesen und in Kuchendiagramm abbilden Java Basics - Anfänger-Themen 7
N Mehrere Werte gleichzeitig in ein Array schreiben? Java Basics - Anfänger-Themen 7
T Array verkleinern Java Basics - Anfänger-Themen 2
J Array aus Numberfield Eingaben Java Basics - Anfänger-Themen 7

Ähnliche Java Themen

Neue Themen


Oben