Gelöste Programmieraufgabe ?

paco89

Bekanntes Mitglied
hi,

hab rel. neu angefangen, zu programmieren und folgende aufgabe, die ich gefunden habe, versucht zu lösen. also zunächst die aufgabenstellung:

"Gegeben seien drei Variablen, die Auskunft über Eigenschaften einer bestimmten Stadt geben:

boolean istHaupstadt;
int anzahlEinwohner;
double steuernProEinwohner;

Dabei gilt folgendes:
istHauptstadt ist genau dann true, wenn die Stadt eine Hauptstadt ist.
anzahlEinwohner gibt die Anzahl der Einwohner der Stadt an.
steuernProEinwohner ist die durchschnittliche monatliche Steuerabgabe pro Einwohner und Monat.
Wir definieren eine Metropole als eine Stadt, die Hauptstadt ist mit mehr als 100 000 Einwohner oder die mehr als 200 000 Einwohner hat und im Durchschnitt mindestens 720 000 000 Steuereinnahmen hat.
Geben Sie einen Booleschen-Ausdruck mit den drei Variablen in Java an, der genau dann true ist, wenn die Stadt eine Metropole ist."

Java:
public class Metropole{

  public static void main (String [] args){
  
  
    boolean istHauptstadt = true;
    int anzahlEinwohner;
    double steuernProEinwohner;
    
    
    
    System.out.println("Bitte geben Sie die Steuern pro Einwohner ein: ");
    steuernProEinwohner = Double.parseDouble(System.console().readLine());
    
    System.out.println("Bitte geben Sie die Anzahl der Einwohner: ");
    anzahlEinwohner = Integer.parseInt(System.console().readLine());   
    
    
    if (anzahlEinwohner> 100000  || anzahlEinwohner > 200000 && steuernProEinwohner == 720000000)
      {
          
         
          System.out.println("Die Hauptstadt ist eine Metropole.");
    
      }
  else
  System.out.println("Ihre Hauptstadt ist keine Metropole.");
  
  }
  



}

ich habe zunächst istHaupstadt auf true gesetzt, weil ich nicht wusste, wie ich den teil machen wollte.
 

Moch

Bekanntes Mitglied
Hallo,
Wir hatten zu Beginn unserer Vorlesung Objektorietierung eine ähnliche Aufgabe.

Hierbei kam es darauf an, eine Klasse (in Deinem Falle "Stadt" oder ähnlich) mit einem Konstruktor (und wenn nötig "Getter und Setter") zu erstellen. In jener Klasse, die die public static void main [...] enthielt, wurde dann lediglich eine Instanz dieser Klasse erstellt.

Vielleicht helfen dir die fettgedrucken Begriff erstmal weiter (zum reinlesen. Da lassen sich viele schöne Beispiel zu finden). Wenn nicht, kannst Du gerne nochmal nachfragen

War der übrigen Quelltext so vorgegeben oder hast Du alles selbst geschrieben bzw. zusammengebastelt?

LG
 

faetzminator

Gesperrter Benutzer
Du hast die Aufgabenstellung nicht korrekt abgebildet.
Wir definieren eine Metropole als eine Stadt, die Hauptstadt ist mit mehr als 100 000 Einwohner oder die mehr als 200 000 Einwohner hat und im Durchschnitt mindestens 720 000 000 Steuereinnahmen hat.


Die Metropole muss also nicht zwingend eine Hauptstadt sein. Sondern [c](a && b) || (c && d)[/c] - als Lösungshilfe ;)
 

langhaar!

Bekanntes Mitglied
Java:
anzahlEinwohner> 100000  || anzahlEinwohner > 200000


Mach nicht wirklich Sinn, weil > 200000 immer einschleisst, dass > 100000 gilt.
Der Fehler liegt aber schon in der Augabenstellung.
 

tuttle64

Bekanntes Mitglied
Sorry, stimmt, falsch gelesen.

Die Aufgabenstellung ist in der Tat tückisch. Ich habe sie so vestanden:

1) Entweder ist die Stadt eine Hauptstadt UND die Einwohnerzahl ist gleich oder grösser 100000
ODER
2) (egal ob oder nicht Hauptstadt) die Anzahl Einwohner beträgt gleich oder mehr als 200000 UND die Steuern pro Einwohner und Jahr sind grösser 720000000

Trifft entweder 1 oder 2 zu, dann ist die Stadt eine Metropole. Als Code ungefähr so:

Code:
	public boolean istMetropole() {
		if ((istHaupstadt && anzahlEinwohner >= 100000)
				|| (anzahlEinwohner >= 200000 && steuernProEinwohner * 12 * anzahlEinwohner > 720000000)) {
			return true;
		} else {
			return false;
		}
	}
 
Zuletzt bearbeitet:

Ähnliche Java Themen

Neue Themen


Oben