ERLEDIGT
NEIN
NEIN
ANTWORTEN
3
3
ZUGRIFFE
463
463
EMPFEHLEN
-
Hey,
seit Beginn des neuen Schuljahres habe ich Informatik gewählt, wo wir uns mit Java beschäftigten. hatten bisher 3 Doppelstunden und in der letzten Stunde haben wir ein Arbeitsblatt mit 4 Aufgaben bekommen. Die ersten drei waren kein Problem und der erste Teil der vierten auch nicht. Hier mal die Aufgabe:
Es ist keine Hausaufgabe oder ähnliches, aber mich interessiert gerade brennend wie ich das mit den Prozenten zustande bekommen.4) Erstellen Sie ein Stimmenzähler für eine Wahl. Diese soll aus den in Hessen
regierenden Parteien bestehen und jeweils eine Stimme für die jeweilige Partei
hochzählen. Für jede Partei muss es also einen Button und ein Label geben.
Erweitern Sie das Programm, so dass auch noch die Stimmenanzahl in Prozent
erscheint.
Mit meinem bisherigen Code ist es so, wenn ich zum Beispiel auf den Button für die SPD klicke, bekommt die SPD eine Stimme, die Gesamtstimmen sind ebenfalls 1, dann hat die SPD auch 100 %. Klicke ich noch mal auf SPD, hat sie auch noch 100 Prozent, so soll es ja auch sein. Aber klicke ich nun auf den Button für CDU, bekommt die CDU auch eine Stimme, die Gesamtstimmen sind nun 3 (2xSPD, 1xCDU), aber dann steht hinter SPD und CDU jeweils 0.
Falls es noch von Interesse ist, wir programmieren mit NetBeans 6.1 und ich verwende Mac OS X Leopard mit Java 6.
Hier mein Code:
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170
public void Stimmen() { // TODO add your handling code here: gesamtStimmen = npdAnzahl+linkeAnzahl+b90Anzahl+fdpAnzahl+cduAnzahl+spdAnzahl; String ausgabeGesamt = Hilfsfunktionen.int2string(gesamtStimmen); stimmenGesamt.setText(ausgabeGesamt); } public void Prozent() { // TODO add your handling code here: String eingabeStimmenGesamt = stimmenGesamt.getText(); int eingabeStimmenZahl = Hilfsfunktionen.string2int(eingabeStimmenGesamt); int spdProzent = (spdAnzahl/eingabeStimmenZahl)*100; int cduProzent = (cduAnzahl/eingabeStimmenZahl)*100; int fdpProzent = (fdpAnzahl/eingabeStimmenZahl)*100; int b90Prozent = (b90Anzahl/eingabeStimmenZahl)*100; int linkeProzent = (linkeAnzahl/eingabeStimmenZahl)*100; int npdProzent = (npdAnzahl/eingabeStimmenZahl)*100; String prozentAusgabeSPD = Hilfsfunktionen.int2string(spdProzent); String prozentAusgabeCDU = Hilfsfunktionen.int2string(cduProzent); String prozentAusgabeB90 = Hilfsfunktionen.int2string(b90Prozent); String prozentAusgabeFDP = Hilfsfunktionen.int2string(fdpProzent); String prozentAusgabeLinke = Hilfsfunktionen.int2string(linkeProzent); String prozentAusgabeNPD = Hilfsfunktionen.int2string(npdProzent); prozentSPD.setText(prozentAusgabeSPD); prozentCDU.setText(prozentAusgabeCDU); prozentFDP.setText(prozentAusgabeFDP); prozentB90.setText(prozentAusgabeB90); prozentLinke.setText(prozentAusgabeLinke); prozentNPD.setText(prozentAusgabeNPD); } private void spdButtonMouseClicked(java.awt.event.MouseEvent evt) { // TODO add your handling code here: spdAnzahl = spdAnzahl+1; String ausgabeSPD = Hilfsfunktionen.int2string(spdAnzahl); anzahlSPD.setText(ausgabeSPD); Stimmen(); Prozent(); } private void cduButtonMouseClicked(java.awt.event.MouseEvent evt) { // TODO add your handling code here: cduAnzahl = cduAnzahl+1; String ausgabeCDU = Hilfsfunktionen.int2string(cduAnzahl); anzahlCDU.setText(ausgabeCDU); Stimmen(); Prozent(); } private void fdpButtonMouseClicked(java.awt.event.MouseEvent evt) { // TODO add your handling code here: fdpAnzahl = fdpAnzahl+1; String ausgabeFDP = Hilfsfunktionen.int2string(fdpAnzahl); anzahlFDP.setText(ausgabeFDP); Stimmen(); Prozent(); } private void b90ButtonMouseClicked(java.awt.event.MouseEvent evt) { // TODO add your handling code here: b90Anzahl = b90Anzahl+1; String ausgabeB90 = Hilfsfunktionen.int2string(b90Anzahl); anzahlB90.setText(ausgabeB90); Stimmen(); Prozent(); } private void linkeButtonMouseClicked(java.awt.event.MouseEvent evt) { // TODO add your handling code here: linkeAnzahl = linkeAnzahl+1; String ausgabeLinke = Hilfsfunktionen.int2string(linkeAnzahl); anzahlLinke.setText(ausgabeLinke); Stimmen(); Prozent(); } private void npdButtonMouseClicked(java.awt.event.MouseEvent evt) { // TODO add your handling code here: npdAnzahl = npdAnzahl+1; String ausgabeNPD = Hilfsfunktionen.int2string(npdAnzahl); anzahlNPD.setText(ausgabeNPD); Stimmen(); Prozent(); } private void formMouseClicked(java.awt.event.MouseEvent evt) { // TODO add your handling code here: } /** * @param args the command line arguments */ public static void main(String args[]) { java.awt.EventQueue.invokeLater(new Runnable() { public void run() { new WahlFenster().setVisible(true); } }); } // Variables declaration - do not modify private javax.swing.JLabel anzahlB90; private javax.swing.JLabel anzahlCDU; private javax.swing.JLabel anzahlFDP; private javax.swing.JLabel anzahlLinke; private javax.swing.JLabel anzahlNPD; private javax.swing.JLabel anzahlSPD; private javax.swing.JButton b90Button; private javax.swing.JLabel b90Variable; private javax.swing.JButton cduButton; private javax.swing.JLabel cduVariable; private javax.swing.JButton fdpButton; private javax.swing.JLabel fdpVariable; private javax.swing.JButton linkeButton; private javax.swing.JLabel linkeVariable; private javax.swing.JButton npdButton; private javax.swing.JLabel npdVariable; private javax.swing.JLabel prozentB90; private javax.swing.JLabel prozentCDU; private javax.swing.JLabel prozentFDP; private javax.swing.JLabel prozentLabel; private javax.swing.JLabel prozentLinke; private javax.swing.JLabel prozentNPD; private javax.swing.JLabel prozentSPD; private javax.swing.JButton spdButton; private javax.swing.JLabel spdVariable; private javax.swing.JLabel stimmenGesamt; private javax.swing.JLabel stimmenLabel; // End of variables declaration // Eigene Variablen int spdAnzahl = 0; int cduAnzahl = 0; int fdpAnzahl = 0; int b90Anzahl = 0; int linkeAnzahl = 0; int npdAnzahl = 0; int gesamtStimmen = 0; }
Schon mal Danke für jegliche Hilfe.
Gruß,
Moritz
-
Das lieg an den Datentypen in deiner Rechnung
Wenn der Datentyp der Anzahl Stimmen int ist, dann gibt die Rechnung von deinem Beispiel (1 von 3 Simmen) 1 / 3 = 0.
Denn wenn 2 Operanten int sind, so ist das Ergebniss auch ein int.
Somit wird dass 0.333... auf 0 abgerundet.
-
Hallo,
das ist eben das Problem bei Integern ! Die haben keine Nachkommastellen !
2 durch 3 mal 100 = 0
weil
2 durch 3 = 0 mal 100 = 0
mach einfach
2 mal 100 durch 3 = 66 !
oder arbeite mit float oder double !
Gruß JadixSignatur ? ? ? So ein Humbug ! ! !
-
Aah, super, vielen Dank jetzt funktioniert es!

Gruß,
Moritz
Ähnliche Themen
-
Zahlen einlesen - überwiegen positive oder negative Zahlen?
Von jenny1106 im Forum C/C++Antworten: 10Letzter Beitrag: 06.03.10, 20:51 -
Zahlen gesamt drehen
Von quidnovi im Forum PHPAntworten: 4Letzter Beitrag: 28.09.05, 00:41 -
Zahlen zu definierten zahlen wandeln
Von speedyggg im Forum PHPAntworten: 2Letzter Beitrag: 26.09.05, 06:50 -
[C++] Ganze große Zahlen statt Zahlen mit xe+10 etc
Von HCI im Forum C/C++Antworten: 3Letzter Beitrag: 01.05.04, 15:01 -
VB6 Rest bei Division ****? hexadecimale zahlen in binäre zahlen
Von zed im Forum Visual Basic 6.0Antworten: 3Letzter Beitrag: 02.11.01, 23:07





Zitieren
Login





