Ergebnis 1 bis 6 von 6

Java Array

  1. #1 Zitieren
    Ritter Avatar von Bruce WaYne
    Registriert seit
    Aug 2005
    Beiträge
    1.705
    Hallo Leute,

    bin in Sachen Java ein echter Neuling. Hab das jetzt seit ca. 1 Monat.
    Die Aufgabe
    Gegeben: Karte von Deutschland(Bundesländern), welche die Tourismusquote pro Bundesland anzeigt
    Gesucht ist dann eben...
    -Bundesland mit geringster Übernachtungsquote
    -Bundesland mit höchster Übernachtungsquote
    -Anzahl Bundesländer mit einer Übernachtungsquote < 5%
    -Anzahl Bundesländer mit einer Übernachtungsquote >= 10%

    Wie ihr dann gleich im Code seht, hab ich das soweit hinbekommen nur habe ich keine Ahnung wie ich bei der Ausgabe auch noch das Bundesland mit ausgeben kann. Also zB. Das Bundesland mit der größten Quote : 20.5 Bayern.Vielleicht kann mir jemand erklären wie ich das hinbekomme? In der Vorlesung sind wir nämlich noch lange nicht soweit.

    Code:
    package testatuebungen;
    
    public class Tourismus {
    
    	public static void main(String[] args) {
    
    		String[] bundesland = { "Bremen", "Schleswig-Holstein",
    				"Niedersachsen", "Sachsen", "Sachsen-Anhalt", "Hamburg",
    				"Berlin", "Brandenburg", "Nordrhein-Westfalen",
    				"Mecklenburg-Vorpommern", "Hessen", "Rheinland-Pfalz",
    				"Thüringen", "Saarland", "Bayern", "Baden-Württemberg" };
    
    		float[] prozent = { 0.5f, 6.4f, 10.1f, 4.4f, 1.8f, 2.4f, 5.5f, 2.8f,
    				11.1f, 7.3f, 7.4f, 5.4f, 2.5f, 0.6f, 20.5f, 11.4f };
    
    		double min = prozent[0];
    		double max = prozent[0];
    		float kleiner5 = 0.0f;
    		float größergleich10 = 0.0f;
    		int pos = 0;
    
    		for (int i = 0; i < prozent.length; i++) {
    
    			if (prozent[i] < min) {
    
    				min = prozent[i];
    				pos = i;
    			}
    
    		}
    
    		for (int j = 0; j < prozent.length; j++) {
    
    			if (prozent[j] > max) {
    
    				max = prozent[j];
    				pos = j;
    			}
    
    		}
    
    		for (int k = 0; k < prozent.length; k++) {
    
    			if (prozent[k] < 5.0) {
    				kleiner5 = prozent[k];
    				pos = k;
    				System.out.println("Bundesland mit Quote kleiner 5: "
    						+ kleiner5 + " " + bundesland[pos]);
    			}
    		}
    
    		for (int l = 0; l < prozent.length; l++) {
    
    			if (prozent[l] >= 10.0) {
    				größergleich10 = prozent[l];
    				pos = l;
    				System.out.println("Bundesland mit Quote größer,gleich 10: "
    						+ größergleich10 + "  " + bundesland[pos]);
    
    			}
    		}
    
    		System.out.println("Das Bundesland mit der geringsten Quote:   " + min
    				+ "  " + bundesland[pos]);
    		System.out.println("Das Bundesland mit der höchsten Quote:   " + max
    				+ "  " + bundesland[pos]);
    
    	}
    
    }
    Ich danke schonmal
    Bruce WaYne ist offline Geändert von Bruce WaYne (23.11.2013 um 14:05 Uhr)

  2. #2 Zitieren
    Ritter Avatar von ojas
    Registriert seit
    Jun 2008
    Ort
    Erde
    Beiträge
    1.787
    Wenn prozent[i] ein für dich interessanter Prozentwert ist, dann ist bundesland[i] der Name des dazu passenden Bundeslandes.

    Und achte darauf, dass dein Quelltext ordentlich eingerückt ist. Das ist nicht optional.
    ojas ist offline Geändert von ojas (23.11.2013 um 13:35 Uhr)

  3. #3 Zitieren
    Held Avatar von Lolomoloko
    Registriert seit
    Aug 2006
    Ort
    ~/
    Beiträge
    5.700
    da du keine paare hast und die daten deswegen nicht im zusammenhang stehen, musst du dir beim ermitteln des minimums/maximums die position merken.
    dann kannst du über die position das entsprechende land dazu mit ausgeben. (unter der annahme dass die positionen in den einzelnen arrays korrespondieren)

    wenn die verwendung von 2 unabhängigen arrays allerdings nicht vorgegeben ist, würden sich auch paare anbieten (die hat java allerdings nicht eingebaut)

    //edith
    meh…
    Lolomoloko ist offline

  4. #4 Zitieren
    Ritter Avatar von Bruce WaYne
    Registriert seit
    Aug 2005
    Beiträge
    1.705
    Aaaah ! Ja natürlich. Dann deklarier ich einfach eine Variable pos und schieb der jedes mal den Wert von i,j,k... zu. Und kanns dann später mit bundesland[pos] ausgeben.
    Vielen Dank !


    Edit: Bei der Ausgabe von den Quoten unter 5 und größer 10 klappts, bei min & max gibt er mir allerdings jedes mal Baden-Württemberg aus ?
    Bruce WaYne ist offline Geändert von Bruce WaYne (23.11.2013 um 14:00 Uhr)

  5. #5 Zitieren
    La neuve mode.  Avatar von TheE
    Registriert seit
    Dec 2007
    Beiträge
    6.603
    Musst du denn einen Array nutzen? Das wäre eigentlich eher ein Fall für eine sortierte Liste mit "Bundesländern"-Objekten, die jeweils den Namen des Bundeslands und die ihm zugeordneten Werte enthalten. Um die Objekte zu sortieren, kannst du Comparable benutzen (Bundesland implements Comparable<Bundesland>).
    TheE ist offline

  6. #6 Zitieren
    Ritter Avatar von Bruce WaYne
    Registriert seit
    Aug 2005
    Beiträge
    1.705
    Zitat Zitat von TheE Beitrag anzeigen
    Musst du denn einen Array nutzen? Das wäre eigentlich eher ein Fall für eine sortierte Liste mit "Bundesländern"-Objekten, die jeweils den Namen des Bundeslands und die ihm zugeordneten Werte enthalten. Um die Objekte zu sortieren, kannst du Comparable benutzen (Bundesland implements Comparable<Bundesland>).
    Ja das mit den Arrays ist Pflicht bei dieser Aufgabe...

    Edit: Das mit min/max hat sich auch erledigt. Hab übersehen, dass ich die Ausgabe da an der falschen Stelle mache.
    Bruce WaYne ist offline

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •