Übungsaufgabe lösen - Problem mit true und false

Status
Nicht offen für weitere Antworten.

Aurora

Mitglied
Hallo liebe Leute im Java-Forum!

In meinem Kurs habe ich eine Aufgabe gestellt bekommen auf die ich einfach keine Lösung finde. Hat da jemand eine Idee wie das funktioniert?
Hier erst mal die Aufgabenstellung:

Schreibe ein Programm "Buergermeister". Das Programm enthält eine Methode, der das diesjährige Budget der Stadt übergeben wird. Es wird übergeben: Budget für Feuerwehr, Budget für Polizei und Budget für Bildung. In der Methode werden 12 Zyklen durchlaufen (12 Monate eines Jahres). In jedem Zyklus wird vom jeweiligen übergebenen Budget ein bestimmter Betrag abgezogen. In der Methode werden drei boolean-Werte ermittelt, die besagen, ob das jeweilige Budget ausgereicht hat oder nicht. Diese drei Werte werden verrechnet. Ist einer davon false, gibt die Methode "true" an die main-Methode zurück, da EIN überzogenes Budget die Stadt noch nicht ruiniert (Es soll dann "alles ok" in der main-Methode ausgegeben werden). Sind aber zwei oder drei der Budgets false, gibt die Methode false zurück und es wird in der main-Methode ausgegeben: "Stadt ruiniert".

Sollte ich am besten mit einer for-Schleife arbeiten?

Wenn ich dann die Werte am Schluss herausbekommen sollte ist noch das Problem mit dem 2 x true ist immer noch "ok" oder true - das bereitet mir die größsten Kopfschmerzen bei dem ganzen Ding.
Geht das mit "if"? Aber wie nur :?:


Über einen Anhaltspunkt oder einen Vorschlag würde ich mich riesig freuen...

Grüße von Aurora :)
 

haggey

Mitglied
Hallo Aurora,

das mit den 12 Zyklen kannst Du in einer for-Schleife machen. Und ausgehend davon, dass die drei Booleans in einem Array stehen, kannst Du z.B. eine weitere for-Schleife bauen und in eine Integer-Variable hinein zählen, wie viele false es gibt:

Code:
falseCounter = 0;

for (int i=0; i<booleanArray.length; i++) {
   if (!booleanArray[i]) {
      falseCounter++;
   }
}

if (falseCounter >= 2) {
   allesOK = false;
}
else {
   allesOK = true;
}

Gruß
haggey
 

Aurora

Mitglied
Array hatten wir noch nicht - kommt das in die main rein oder direkt in die Methode?
Wenn ich dann die Lösung raus habe - muss das was du allesOK genannt hast noch initialisiert werden? Also ist das eine Variable?
Kannst du mal vielleicht kurz sagen was das Array, das du da geschrieben hast macht? Also der erste Teil kommt mir ganz fremd vor :oops:

Ich steh noch etwas auf dem Schlauch...
 
G

Guest

Gast
Schreibe ein Programm "Buergermeister".
Klassenname: Buergermeister
Das Programm enthält eine Methode, der das diesjährige Budget der Stadt übergeben wird.
Es wird übergeben:
Budget für Feuerwehr,
Budget für Polizei
und Budget für Bildung.
Eine Methode setBudget(...) mit drei Werten als Parameter (Typ: float oder double)

In der Methode werden 12 Zyklen durchlaufen (12 Monate eines Jahres).
Eine einfache for-Schleife innerhalb der setBudget(...) Methode, die 12-Mal durchläuft.

Code:
In jedem Zyklus wird vom jeweiligen übergebenen Budget ein bestimmter Betrag
abgezogen.
Innerhalb der Schleife von jedem Parameter irgendeinen Wert abziehen (egal wie hoch).
Du kannst direkt die übergebenen Parameter (die Variablen) verwenden, ist in der Aufgabe
nicht ausdrücklich untersagt.

In der Methode werden drei boolean-Werte ermittelt, die besagen, ob das jeweilige
Budget ausgereicht hat oder nicht. Diese drei Werte werden verrechnet.
Das erfolgt nach der Schleife. Einfach prüfen, ob die Werte immer noch grösser 0 sind.
Drei If-Abfragen, jeweils für einen dieser Werte. Jedesmal einen Zähler hochzählen, wenn
Budget nicht überschritten ist.

Ist einer davon false, gibt die Methode "true" an die main-Methode zurück,
da EIN überzogenes Budget die Stadt noch nicht ruiniert (Es soll dann "alles ok"
in der main-Methode ausgegeben werden).
Soll heissen, dass der Zähler vom letzten Schritt grösser oder gleich zwei sein müsste.

Sind aber zwei oder drei der Budgets false, gibt die Methode false zurück und es
wird in der main-Methode ausgegeben: "Stadt ruiniert".
Das ist der Else-Fall.

In der Methode main(...) abhängig von true oder false aus der Methode setBudget(...)
"Alles OK" oder "Stadt ruiniert".

Manchmal glaube ich, dass die Budgetplanung in so manchen Städten tatsächlich so realitätsfremd ist. ;)
 

Aurora

Mitglied
So, ich habe das nach meinem Verständnis der Materie jetzt mal nach deiner Anleitung versucht...
Aber da habe ich wohl einen (oder viele - wer weiß) Fehler gemacht.
Ich habe folgendes gebastelt:

Code:
class Buergermeister {
	
	static boolean jahresAbrechnung(int f, int p, int s) {
		boolean saldo;
		int budget =0;
		int budgetF =0;
		int budgetP =0;
		int budgetS =0;
		
		for(int monat=1; monat<=12; monat=monat++) {
			for (int ausgaben=10; monat<=12; budgetF=f-ausgaben) {	
			}
			
			if (budgetF>=0) budget=budget++;
			else budget=budget-1;	
		}
		
		for(int monat=1; monat<=12; monat=monat++) {
			for (int ausgaben=20; monat<=12; budgetP=p-ausgaben) {	
			}
			if (budgetP>=0) budget=budget++;
			else budget=budget-1;
		}
		
		for(int monat=1; monat<=12; monat=monat++) {
			for (int ausgaben=10; monat<=12; budgetS=s-ausgaben) {
			}
			if (budgetS>=0) budget=budget++;
			else budget=budget-1;
		}
		
		if (budget<1) saldo =false;
		else saldo =true;
		
		return saldo;
	}
	
	
	public static void main(String[] args) {
		int budgetFeuer=5000;
		int budgetPolizei=7000;
		int budgetSchule=3000;
		
		if(jahresAbrechnung(budgetFeuer, budgetPolizei, budgetSchule)) {
			System.out.println("Die Stadt hat die Jahresabschlussrechnung erfolgreich bestanden");
		}
		
		else System.out.println("Die Stadt ist Bankrott");
	}
}

Bestimmt mache ich viel unnötiges Zeug aber trotzdem - es kommt NICHTS heraus - das Programm macht irgendwie gar nichts weiß jemand was ich falsch mache?
???:L
 
G

Guest

Gast
Aurora hat gesagt.:
Bestimmt mache ich viel unnötiges Zeug...
Du versuchst das zu viel in die Aufgabe hinein zu interpretieren. ;)

OK, im Prinzip hast du es schon. Hier eine Vereinfachung nach der Aufgabenstellung.
Code:
class Buergermeister { 
   
   static boolean jahresAbrechnung(int f, int p, int s)
   { 
      int budgetF = f; 
      int budgetP = p; 
      int budgetS = s; 
       
      for(int monat=1; monat<=12; monat++)
      {
         budgetF -= 200.5; // Es ist das gleiche wie budgetF = budgetF - 200.5;  
         budgetP -= 350.6; 
         budgetS -= 423.4; 
      }

      int anzahlOK = 0;
      
      // Budget-Feuerwehr nicht überschritten?
      if( budgetF >= 0)
      {
         anzahlOK++;
      }

      // Budget-Polizei nicht überschritten?
      if( budgetP >= 0)
      {
         anzahlOK++;
      }

      // Budget-Bildung nicht überschritten?
      if( budgetS >= 0)
      {
         anzahlOK++;
      }
      
      // Mindestens zwei nicht überschritten bzw. höchstens eins überschritten?
      if( anzahlOK >= 2 )
      {
         return true;
      }
      
      return false;
   } 
    
    
   public static void main(String[] args) { 
      int budgetFeuer=5000; 
      int budgetPolizei=7000; 
      int budgetSchule=3000; 
       
      if(jahresAbrechnung(budgetFeuer, budgetPolizei, budgetSchule)) { 
         System.out.println("Die Stadt hat die Jahresabschlussrechnung erfolgreich bestanden"); 
      } 
       
      else System.out.println("Die Stadt ist Bankrott"); 
   } 
}
 

Aurora

Mitglied
DANKE!!!!!

Und ich verstehe es sogar :lol:

Das ist herrlich.

Jetzt kann die Woche nur noch besser werden, bei so einem Start!

Ihr seit klasse :toll:

Viele liebe Grüße,
Aurora
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
A Laufzeitfehler bei Übungsaufgabe Java Basics - Anfänger-Themen 4
jonathanpizza Hilfe bei einer Übungsaufgabe Java Basics - Anfänger-Themen 6
K Rundbeet Übungsaufgabe Java Basics - Anfänger-Themen 3
J Hilfe bei Übungsaufgabe Java Basics - Anfänger-Themen 17
Z Unklarheit bei Übungsaufgabe [Anfänger] Java Basics - Anfänger-Themen 22
H Übungsaufgabe Java Basics - Anfänger-Themen 21
K Übungsaufgabe... Verständnisproblme (java 8.191) Java Basics - Anfänger-Themen 4
H Polynome Übungsaufgabe uni Java Basics - Anfänger-Themen 49
H Übungsaufgabe algorithmen Java Basics - Anfänger-Themen 2
L Übungsaufgabe zu Schleifen Java Basics - Anfänger-Themen 7
H Frage zu Übungsaufgabe, Array Java Basics - Anfänger-Themen 7
T Übungsaufgabe Event Handling Java Basics - Anfänger-Themen 0
T Übungsaufgabe abstrakte Klasse Java Basics - Anfänger-Themen 21
B Hilfe bei Übungsaufgabe von Freitagsrunde Java Basics - Anfänger-Themen 5
B Übungsaufgabe Java Basics - Anfänger-Themen 5
M Übungsaufgabe Problem Java Basics - Anfänger-Themen 6
N Übungsaufgabe aus Java Buch bringt Fehler. Java Basics - Anfänger-Themen 10
B Übungsaufgabe zu Klassen, Methoden ... Java Basics - Anfänger-Themen 2
K Methoden Uhr als Übungsaufgabe Klassen/Objekte Java Basics - Anfänger-Themen 3
S Verständnisproblem einer Übungsaufgabe Java Basics - Anfänger-Themen 6
J Hilfe bei Übungsaufgabe Java Basics - Anfänger-Themen 5
D Brauche Hilfe bei Modulo (Übungsaufgabe) Java Basics - Anfänger-Themen 14
U Erste Schritte Fehler in Übungsaufgabe Java Basics - Anfänger-Themen 22
W Übungsaufgabe:Dynamische Datenstrukturen Java Basics - Anfänger-Themen 10
pg1337 Übungsaufgabe für Anfänger Java Basics - Anfänger-Themen 26
N Übungsaufgabe mit static Wert Java Basics - Anfänger-Themen 27
P Datentypen Frage zu einer Übungsaufgabe Java Basics - Anfänger-Themen 15
N Übungsaufgabe mit Interface Java Basics - Anfänger-Themen 2
F Schleifen Übungsaufgabe Java Basics - Anfänger-Themen 4
D Schiedermeier 1. Semester Übungsaufgabe Problem Java Basics - Anfänger-Themen 8
C Übungsaufgabe Java Basics - Anfänger-Themen 10
R Problem bei Übungsaufgabe Java Basics - Anfänger-Themen 7
M Hilfe bei Übungsaufgabe :'( nooby Java Basics - Anfänger-Themen 3
Alen123 Wie würdet ihr diese Aufgabenstellung lösen? Java Basics - Anfänger-Themen 18
S GUI-Programmierung Sudoku-Rätsel lösen Java Basics - Anfänger-Themen 1
L Symbo Rätsel lösen lassen Java Basics - Anfänger-Themen 3
J Array eintrag mit möglichst wenig code lösen Java Basics - Anfänger-Themen 16
T Rekursionsaufgabe lösen Java Basics - Anfänger-Themen 6
D Erste Schritte Lösen dieser Aufgabe, Hilfe! Java Basics - Anfänger-Themen 12
F Switch Case Problem mit Regex lösen? Java Basics - Anfänger-Themen 6
B Türme von Hanoi mit einer beliebigen aber gültigen Eingabe lösen Java Basics - Anfänger-Themen 5
N Denksportaufgabe durch Algorithmus lösen Java Basics - Anfänger-Themen 2
K Compiler-Fehler NullPointerException lösen Java Basics - Anfänger-Themen 16
B Wie könnte man mit Java diese Matheaufgabe lösen Java Basics - Anfänger-Themen 7
kilopack15 Sin(x) rekursiv lösen Java Basics - Anfänger-Themen 17
S Lineare Gleichung lösen Java Basics - Anfänger-Themen 1
A instanceof-if-else-Anweisungen eleganter lösen Java Basics - Anfänger-Themen 5
N Von Kopf bis Fuss TestArrays lässt sich nicht lösen Java Basics - Anfänger-Themen 5
L NullPointerException lösen Java Basics - Anfänger-Themen 6
R Hanoi rekursiv lösen Problem Java Basics - Anfänger-Themen 1
A Sudoku mit Backtracking lösen Java Basics - Anfänger-Themen 3
C Gleichung mit Potenz mit einer Unbekannten lösen Java Basics - Anfänger-Themen 5
D Sudoku lösen mit Backtracking Java Basics - Anfänger-Themen 20
B Quadratische Gleichung mit JAVA lösen Java Basics - Anfänger-Themen 5
S Bisschen hilfe beim Sudoku Lösen benötigt Java Basics - Anfänger-Themen 7
I Fragen bzw. Aufgabe lösen Java Basics - Anfänger-Themen 4
C Differenz-Methode mit Array lösen Java Basics - Anfänger-Themen 14
M Sudoku Rekursiv lösen Java Basics - Anfänger-Themen 9
M Gibt es eine einfachere Variante diese Aufgabenstellung zu lösen? Java Basics - Anfänger-Themen 11
O Wie kann man das einfach lösen? (dynamisch viele Attribute) Java Basics - Anfänger-Themen 6
G methode lösen Java Basics - Anfänger-Themen 5
G Sudoku rekursiv lösen Java Basics - Anfänger-Themen 10
I Lineare Gleichungssysteme lösen -> Problem Java Basics - Anfänger-Themen 3
G (csv)Datei lesen FindBug findet mgl. NullPointer - wie lösen Java Basics - Anfänger-Themen 3
K Lösen einer Gleichung Java Basics - Anfänger-Themen 12
V wie kann man das lösen ? Java Basics - Anfänger-Themen 3
lumo lösen von: "Type safety"? Java Basics - Anfänger-Themen 4
J Mit welchem LayoutManager Problem lösen? Java Basics - Anfänger-Themen 2
J Lösen linearer Gleichungen Java Basics - Anfänger-Themen 3
N Ist dieses Problem mit Java zu lösen? Java Basics - Anfänger-Themen 7
P wait und notify oder wie soll ich es lösen Java Basics - Anfänger-Themen 2
H [req] wer kann mir helfen die aufgabe zu lösen? Java Basics - Anfänger-Themen 2
F Kann ein Problem bei Anweisungen nicht lösen Java Basics - Anfänger-Themen 4
G Aufgabe: Kann sie nicht lösen Java Basics - Anfänger-Themen 12
G quadratische Gleichung lösen Java Basics - Anfänger-Themen 2
I gleichung lösen Java Basics - Anfänger-Themen 4
S Gleichungssystem lösen Java Basics - Anfänger-Themen 6
K Verständnis Problem bei Server/Client Java Basics - Anfänger-Themen 2
I WildFily - unterschiedliche Libs im Projekt verursachen Problem Java Basics - Anfänger-Themen 11
imocode Vererbung Problem mit Vererbung Java Basics - Anfänger-Themen 2
L Taschenrechner Problem Java Basics - Anfänger-Themen 4
I Applikationsserver (WildFly) - Zugriff auf Ressourcen.. Problem mit Pfade Java Basics - Anfänger-Themen 10
A ScheduledExecutorService problem Java Basics - Anfänger-Themen 7
marcelnedza Problem mit Weltzuweisung, JavaKarol Java Basics - Anfänger-Themen 13
XWing Methoden rückgabe Problem? Java Basics - Anfänger-Themen 6
M Erste Schritte Collatz Problem max int Java Basics - Anfänger-Themen 3
M Problem bei verschachtelter for-Schleife bei zweidimensionalen Arrays Java Basics - Anfänger-Themen 3
C GLOOP Problem beim Erstellen der Kamera Java Basics - Anfänger-Themen 9
nelsonmandela Problem bei Ausgabe einer Switch - Case Funktion Java Basics - Anfänger-Themen 5
frager2345 Problem mit Methode Java Basics - Anfänger-Themen 4
L Problem bei Rechnung mit Math.pow Java Basics - Anfänger-Themen 13
A Thread-Schreibe-Lese-Problem Java Basics - Anfänger-Themen 4
SUPERTJB return Problem Java Basics - Anfänger-Themen 3
sserio BigInteger Problem Java Basics - Anfänger-Themen 4
JordenJost Taschenrechner problem Java Basics - Anfänger-Themen 5
K Problem mit "Random" Java Basics - Anfänger-Themen 5
S Datei anlegen Problem! Groß- und Kleinschreibung wird nicht unterschieden Java Basics - Anfänger-Themen 4
sserio Problem beim Anzeigen Java Basics - Anfänger-Themen 5
xanxk Problem For-Schleife mit Charakter Java Basics - Anfänger-Themen 2
L Unbekanntes Problem mit 2d Array Java Basics - Anfänger-Themen 6

Ähnliche Java Themen

Neue Themen


Oben