Hallo Zusammen,
ich brauche dringend Hilfe
Ich notiere erst die Aufgabe und dann meinen Lösungsansatz.
Folgendes muss ich lösen:
Programmieren Sie eine Klasse mit dem Namen Partei unter Beachtung der
nachfolgenden Vorgaben:
Es werden drei Instanzvariablen benötigt:
- eine zur Aufnahme des Namens der Partei,
- eine zur Aufnahme der der Partei zugewiesenen Listennummer,
- eine zur Führung der auf die Partei entfallenen Stimmen.
Die Klasse soll über eine Konstruktor-Methode verfügen. Dieser sollen der Parteiname
und die zugewiesene Listennummer als Parameter übergeben werden, die als Werte der
Instanzvariablen zu übernehmen sind. Die Anzahl der auf die Partei entfallenen Stimmen
ist auf den Anfangswert 0 zu setzen.
Zur Aktualisierung der auf eine Partei entfallenen Stimmen dient eine parameterlose
Methode mit dem Namen zustimmung, die den Wert der von der Partei erhaltenen
Stimmen um 1 erhöht.
Daneben soll die Klasse für jede Instanzvariable über eine parameterlose get-Methode
verfügen, mit deren Hilfe von einem Objekt der Klasse der aktueller Wert der betreffenden
Variablen abgerufen werden kann.
Ich Glaube das ich das geschafft hab:
Der zweite Teil lautet:
Programmieren Sie eine Klasse mit dem Namen Wahlmaschine, die über eine main-
Methode verfügt und direkt aufgerufen werden kann.
Die main-Methode soll nacheinander die Methoden vorbereiten, waehlen und auswerten
aufrufen. Diese drei Methoden sollen sich der Methoden der Klasse Partei aus Aufgabe 2
bedienen.
Da sich drei Parteien zur Wahl stellen, soll in der Methode vorbereiten für die Listennummern
1 bis 3 vom Benutzer jeweils der Name der betreffenden Partei erfragt werden und
ein Partei-Objekt erzeugt werden.
In der Methode waehlen soll in einer Schleife immer ein Wählervotum abgefragt werden
(„Auf welchen Listenplatz soll die Stimme entfallen? 1,2 oder 3?“), anschließend soll die
entsprechende Eingabe des Benutzers entgegengenommen werden und die Methode
zustimmung des betreffenden Partei aufgerufen werden. Bei Eingabe von 99 soll der
Wahlvorgang beendet werden, die Eingabe von Werten ungleich 1,2,3 oder 99 als
ungültige Stimme abgewiesen werden.
Nach Beendigung des Wahlvorgangs ist die Methode auswerten aufzurufen, die für die
drei Parteien deren Listennummer, den Parteinamen, die Anzahl der erhaltenen Stimmen
sowie den prozentualen Stimmenanteil zur Anzeige bringen soll.
Meine bisherige Lösung:
Ich möchte auf die erstellten Objekte zugreifen, damit die Methode waehlen() Stimmen hinzuzählen kann. Aber ich kann nicht drauf zugreifen. Bisher habe ich immer mit Objekten gearbeitet, die in der Main erzeugt wurden. Oder habe ich die Aufgabe missverstanden und bereits in der Methode vorbereiten was falsch gemacht????:L
ich brauche dringend Hilfe
Ich notiere erst die Aufgabe und dann meinen Lösungsansatz.
Folgendes muss ich lösen:
Programmieren Sie eine Klasse mit dem Namen Partei unter Beachtung der
nachfolgenden Vorgaben:
Es werden drei Instanzvariablen benötigt:
- eine zur Aufnahme des Namens der Partei,
- eine zur Aufnahme der der Partei zugewiesenen Listennummer,
- eine zur Führung der auf die Partei entfallenen Stimmen.
Die Klasse soll über eine Konstruktor-Methode verfügen. Dieser sollen der Parteiname
und die zugewiesene Listennummer als Parameter übergeben werden, die als Werte der
Instanzvariablen zu übernehmen sind. Die Anzahl der auf die Partei entfallenen Stimmen
ist auf den Anfangswert 0 zu setzen.
Zur Aktualisierung der auf eine Partei entfallenen Stimmen dient eine parameterlose
Methode mit dem Namen zustimmung, die den Wert der von der Partei erhaltenen
Stimmen um 1 erhöht.
Daneben soll die Klasse für jede Instanzvariable über eine parameterlose get-Methode
verfügen, mit deren Hilfe von einem Objekt der Klasse der aktueller Wert der betreffenden
Variablen abgerufen werden kann.
Ich Glaube das ich das geschafft hab:
Java:
import java.io.ObjectInputStream.GetField;
public class Partei {
private static String Pname;
private static int Listennummer;
private static int anzStimmen = 0;
public Partei(String name, int liste){
this.Pname = name;
this.Listennummer = liste;
}
public static int zustimmung(){
int stimme = getanzStimmen();
stimme++;
return stimme;
}
public String getPname(){
return Pname;
}
public int getListennummer(){
return Listennummer;
}
public static int getanzStimmen(){
return anzStimmen;
}
}
Der zweite Teil lautet:
Programmieren Sie eine Klasse mit dem Namen Wahlmaschine, die über eine main-
Methode verfügt und direkt aufgerufen werden kann.
Die main-Methode soll nacheinander die Methoden vorbereiten, waehlen und auswerten
aufrufen. Diese drei Methoden sollen sich der Methoden der Klasse Partei aus Aufgabe 2
bedienen.
Da sich drei Parteien zur Wahl stellen, soll in der Methode vorbereiten für die Listennummern
1 bis 3 vom Benutzer jeweils der Name der betreffenden Partei erfragt werden und
ein Partei-Objekt erzeugt werden.
In der Methode waehlen soll in einer Schleife immer ein Wählervotum abgefragt werden
(„Auf welchen Listenplatz soll die Stimme entfallen? 1,2 oder 3?“), anschließend soll die
entsprechende Eingabe des Benutzers entgegengenommen werden und die Methode
zustimmung des betreffenden Partei aufgerufen werden. Bei Eingabe von 99 soll der
Wahlvorgang beendet werden, die Eingabe von Werten ungleich 1,2,3 oder 99 als
ungültige Stimme abgewiesen werden.
Nach Beendigung des Wahlvorgangs ist die Methode auswerten aufzurufen, die für die
drei Parteien deren Listennummer, den Parteinamen, die Anzahl der erhaltenen Stimmen
sowie den prozentualen Stimmenanteil zur Anzeige bringen soll.
Meine bisherige Lösung:
Java:
public class Wahlmaschine {
public static void vorbereiten() {
System.out.println("Bitte Name eingeben:");
String Pnamen= EAM.rString();
System.out.println("Bitte Name eingeben:");
String Pnamen2 = EAM.rString();
System.out.println("Bitte Name eingeben:");
String Pnamen3 = EAM.rString();
Partei p1 = new Partei(Pnamen, 1);
Partei p2 = new Partei(Pnamen2, 2);
Partei p3 = new Partei(Pnamen3, 3);
}
public static void waehlen(){
System.out.println("Listenplatz? 1,2,3??");
int liste = EAM.rInt();
if(liste == 1){
}
}
public static void main(String[] args) {
// TODO Auto-generated method stub
}
}
Ich möchte auf die erstellten Objekte zugreifen, damit die Methode waehlen() Stimmen hinzuzählen kann. Aber ich kann nicht drauf zugreifen. Bisher habe ich immer mit Objekten gearbeitet, die in der Main erzeugt wurden. Oder habe ich die Aufgabe missverstanden und bereits in der Methode vorbereiten was falsch gemacht????:L