Skip to main content

Java Übung & Lösung: Rechnen mit Werten aus Java Arrays


java übung lösung rechnen java arrays

Diese umfangreiche Java Übung ist eine weitere Übung zu Java Arrays.

Ich habe dafür schon ein kleines Beispiel vorbereitet.
Gegeben ist ein Array, welches Integer Werte speichert.

Der Java Code zum Array sieht so aus:


public class ArrayWerte {
 
	public static void main(String[] args) {
		int arrayEins[]= new int [5];
		arrayEins[1]=2;
		arrayEins[3]=18;
		arrayEins[0]=22;
		arrayEins[2]=21;
		arrayEins[4]=7;
		arrayEins[5]=8;
	}
}
  1. Lass dir alle Werte, welche sich im Array befinden auf der Konsole ausgeben.
    Achte auf die Reihenfolge und beginne beim kleinsten. (0 bis 4)
  2. Multipliziere das dritte Element mit dem zweiten Element des Arrays.
  3. Dividiere das erste Element durch das vierte Element. Achte dabei, auf Nachkommastellen.
  4. Falls das fünfte Element ein Teiler des dritten Elementes ist, dann soll die Bildschirmausgabe:
    „5. Element ist Teiler vom 3 .Element“ erscheinen.
    Andernfalls erscheint die Ausgabe „5. Element ist kein Teiler vom 3. Element“
  5. Ersetze den Wert des ersten Elementes durch die Zahl 127.

Zusatz:
Lagere alle Programmstrukturen in Methoden aus.
Die Methoden sollen das Array entgegennehmen und dieses dann entsprechend verarbeiten.
Implementiere also die Methoden:

  • liesArray
  • multipliziereArray
  • dividiereArray
  • istTeiler
  • ersetzeElement

 
Die letzte Methode „ersetzeElement“ verändert das erste Element.
Und dies hat Auswirkungen auf die Methode „dividiereArray“.

Deshalb sollen die Auswirkungen auch sichtbar werden.
Und darum soll die letzte Methode „ersetzeElement()“ die Methode „dividiereArray()“ mit neuen veränderten Wert aufrufen.
 
Na dann, wünsche ich dir viel Spaß bei dieser umfangreichen Java Übung zu den Arrays.
 
PS.
Wie du siehst, setzt sich diese Java Übung aus mehreren kleinen Übungen zusammen.
Du kannst jede Übung separat erledigen.
In der Lösung zur Übung fange ich selbst bei jeder Teilaufgabe immer wieder bei null an.


Wie ich bereits geschrieben habe, unterteile ich die Lösung dieser Java Übung in mehrere Abschnitte.

Zuerst das Wichtigste.
Das Element 5 ist kein Element des Arrays.
Das muss raus. Das Array umfasst 5 Elemente.
Und das sind die Elemente 0 bis 4.
 
Falls du das Element 6 arrayEins[5]=8; nicht löschst, bekommst du eine Fehlermeldung.
Und diese lautet: „java.lang.ArrayIndexOutOfBoundsException“.
 
Also lösche es oder kommentiere es aus, bevor du weitermachst.


public class ArrayWerte {
 
	public static void main(String[] args) {
		int arrayEins[]= new int [5];
		arrayEins[1]=2;
		arrayEins[3]=18;
		arrayEins[0]=22;
		arrayEins[2]=21;
		arrayEins[4]=7;
		//arrayEins[5]=8; nicht Element des Arrays
 
	}
}

Beginnen wir mit der ersten Lösung
 

So kannst du die Elemente nach ihrem Index ausgeben.

Es gibt verschiedene Möglichkeiten.
 
Du kannst es mit einer einfachen Inkrementierung machen.
Dazu schreibst du einfach System.out.println(arrayEins[i]);.
Und dann lässt du i inkrementieren bzw. hochzählen. i++
 
So würde der Java Code aussehen:


public class ArrayWerte {
 
	public static void main(String[] args) {
		int arrayEins[]= new int [5];
		arrayEins[1]=2;
		arrayEins[3]=18;
		arrayEins[0]=22;
		arrayEins[2]=21;
		arrayEins[4]=7;
		//arrayEins[5]=8; nicht Element des Arrays
		 
		int i=0;
		System.out.println(arrayEins[i]);
		i++;
		System.out.println(arrayEins[i]);
		i++;
		System.out.println(arrayEins[i]);
		i++;
		System.out.println(arrayEins[i]);
		i++;
		System.out.println(arrayEins[i]);
		i++;
	}
}

Etwas eleganter wäre dies über eine Schleife zu lösen.
Zum Beispiel mit while Schleife.


public class ArrayWerte {
 
	public static void main(String[] args) {
		int arrayEins[]= new int [5];
		arrayEins[1]=2;
		arrayEins[3]=18;
		arrayEins[0]=22;
		arrayEins[2]=21;
		arrayEins[4]=7;
		//arrayEins[5]=8; nicht Element des Arrays
		 
		int i=0;
		while (i<=4){
			System.out.println(arrayEins[i]);
			i++;
		}
	}
}

Die Schleifenbedingung lässt die Anweisung so oft ausführen, bis i =4 ist.
Und bei jedem Schleifendurchlauf wird das Element ausgegeben und i um eins erhöht.
 
Problem dabei ist, dass du eine lokale Variable i deklarieren musst, nur um zu zählen.
Die For Schleife hat diese bereits.
 
Der eleganteste Weg Arrays zu lesen, ist somit die for-Schleife.


public class ArrayWerte {
 
	public static void main(String[] args) {
		int arrayEins[]= new int [5];
		arrayEins[1]=2;
		arrayEins[3]=18;
		arrayEins[0]=22;
		arrayEins[2]=21;
		arrayEins[4]=7;
		 
		 
		for (int i = 0; i<arrayEins.length; i++){
			System.out.println(arrayEins[i]);
		}
	}
}

Die For Schleife liest jetzt alle Elemente des Arrays und gibt deren Inhalt zurück.
Außerdem wurde als Abbruchbedingung eine Variable arrayEins.length vereinbart.
Diese Variable speichert die Länge des Arrays und du musst somit keine Zahlen einsetzen.
Das Ganze wird somit auch flexibler.
 
Kommen wir zur nächsten Aufgabe.
 

Die zweite Teilaufgabe dieser Java Übung bestand darin die Elemente des Arrays zu multiplizieren.

Ganz konkret solltest du das dritte Element mit dem zweiten Element multiplizieren.
 
Und so geht’s.


public class ArrayWerte {
 
	public static void main(String[] args) {
		int arrayEins[]= new int [5];
		arrayEins[1]=2;
		arrayEins[3]=18;
		arrayEins[0]=22;
		arrayEins[2]=21;
		arrayEins[4]=7;
		 
	System.out.println(arrayEins[2]*arrayEins[1]);        
	}
}

Du kannst das Ergebnis natürlich auch in einer lokalen Variable speichern.
Und diesen Wert lässt du dir am Bildschirm ausgeben.


public class ArrayWerte {
 
	public static void main(String[] args) {
		int arrayEins[] = new int[5];
		arrayEins[1] = 2;
		arrayEins[3] = 18;
		arrayEins[0] = 22;
		arrayEins[2] = 21;
		arrayEins[4] = 7;
 
		int produkt = arrayEins[2] * arrayEins[1]; //lokale Variable produkt
 
		System.out.println(produkt);
	}
}

Okay, läuft?
Na dann kommen wir zur nächsten Aufgabe.
 

In der dritten Teilaufgabe dieser Java Übung solltest du zwei Elemente dividieren.

Du solltest das erste Element durch das vierte Element dividieren.
 
Schau dir bitte einmal die Elemente 1 und 4 des Arrays an.
Diese wären 22 und 18.
22 geteilt durch 18 ist eine Kommazahl.
Im Array stecken aber nur Integer Werte.
 
Um jetzt eine Kommazahl zu erhalten, musst du casten.
Und so geht’s.


public class ArrayWerte {
 
	public static void main(String[] args) {
		int arrayEins[] = new int[5];
		arrayEins[1] = 2;
		arrayEins[3] = 18;
		arrayEins[0] = 22;
		arrayEins[2] = 21;
		arrayEins[4] = 7;
 
		System.out.println((double)arrayEins[0]/arrayEins[3]);
	}
}

Na klappt?
Dann gleich zur nächsten Aufgabe.
 

Die vierte Aufgabe der Java Übung besteht darin, ein Element des Array auszuwerten.

Ganz konkret, solltest du das 5. Element prüfen, ob es Teiler des 3. Element ist.
Falls dies der Fall ist, soll die Bildschirmausgabe „5. Element ist Teiler vom 3 .Element“ erscheinen.
 
In einem if /else Block würde die Prüfung so aussehen:
(arrayEins[2]%arrayEins[4]==0)
Element 3 wird durch Element 5 geteilt. Es kommt ein Restwert heraus.
Falls dieser Restwert 0 ist, wird die nachfolgende Anweisung ausgeführt.
 
Und so sieht der ganze Java Code aus:


public class ArrayWerte {
 
	public static void main(String[] args) {
		int arrayEins[] = new int[5];
		arrayEins[1] = 2;
		arrayEins[3] = 18;
		arrayEins[0] = 22;
		arrayEins[2] = 21;
		arrayEins[4] = 7;
		 
		if (arrayEins[2]%arrayEins[4]==0){
			System.out.println("5. Element ist Teiler vom 3. Element");
		}
		else {
			System.out.println("5. Element ist kein Teiler vom 3. Element");
		}
	}
}

Natürlich könnte die Bedingung auch so aussehen.


public class ArrayWerte {
 
	public static void main(String[] args) {
		int arrayEins[] = new int[5];
		arrayEins[1] = 2;
		arrayEins[3] = 18;
		arrayEins[0] = 22;
		arrayEins[2] = 21;
		arrayEins[4] = 7;
		 
		if (arrayEins[2]%arrayEins[4]!=0){
			System.out.println("5. Element ist kein Teiler vom 3. Element");
		}
		else {
			System.out.println("5. Element ist Teiler vom 3. Element");
		}
	}
}

Es wurde lediglich die Bedingung geändert.
Aus gleich wurde ungleich.
 
Und….
Wenn das fünfte Element des Arrays kein Teiler des dritten Elementes ist, dann wird der if Block ausgeführt, ansonsten der else Block.

Es ist genau das gleiche.
Nur eben anders formuliert.
 

Die letzte Teilaufgabe dieser Java Übung ist wieder etwas leichter.

Du sollst lediglich den Wert des ersten Elementes durch die Zahl 127 ersetzen.
 
Aus Kontrollzwecken lass ich mir dies wieder am Bildschirm anzeigen.


public class ArrayWerte {
 
	public static void main(String[] args) {
		int arrayEins[] = new int[5];
		arrayEins[1] = 2;
		arrayEins[3] = 18;
		arrayEins[0] = 22;
		arrayEins[2] = 21;
		arrayEins[4] = 7;
	 
		arrayEins[0]=127;
		System.out.println(arrayEins[0]);
	}        
}

Das war verhältnismäßig einfach, oder?
 

Kommen wir zur Zusatzaufgabe. Lagere alle Programmstrukturen in Methoden aus.

Die Methoden sollten statisch sein.
Schließlich möchtest du auf diese zugreifen, ohne ein Objekt erschaffen zu müssen.
 
Außerdem erwarten alle Methoden in der Parameterliste ein Array.
Und beim Aufruf in der Main-Methode übergibst du dann das Array an diese Methoden.
 
Da die Methoden lediglich Bildschirmausgaben erzeugen, genügt der Rückgabewert void.
 
Und so sieht der komplette Code zu dieser Java Übung aus.


 
public class ArrayWerte {
 
	/*
	 * Lösung zur Aufgabe 1
	 */
	static void liesArray(int[] arrayEins) {
		for (int i = 0; i < arrayEins.length; i++) {
			System.out.println(arrayEins[i]);
		}
	}
 
	/*
	 * Lösung zur Aufgabe 2
	 */
	static void multipliziereArray(int[] arrayEins) {
		System.out.println(arrayEins[2] * arrayEins[1]);
	}
 
	/*
	 * Lösung zur Teilaufgabe 3
	 */
	static void dividiereArray(int[] arrayEins) {
		System.out.println((double) arrayEins[0] / arrayEins[3]);
	}
 
	/*
	 * Lösung zur Teilaufgabe 4
	 */
	static void istTeiler(int[] arrayEins) {
		if (arrayEins[2] % arrayEins[4] == 0) {
			System.out.println("5. Element ist Teiler vom 3 .Element");
		} else {
			System.out.println("5. Element ist kein Teiler vom 3 .Element");
		}
	}
 
	/*
	 * Lösung zur Teilaufgabe 5
	 */
	static void ersetzeElement(int[] arrayEins) {
		arrayEins[0] = 127;
		System.out.println(arrayEins[0]);
		dividiereArray(arrayEins);// Aufruf der Division Methode mit neuen Wert
	}
 
	public static void main(String[] args) {
		int arrayEins[] = new int[5];
		arrayEins[1] = 2;
		arrayEins[3] = 18;
		arrayEins[0] = 22;
		arrayEins[2] = 21;
		arrayEins[4] = 7;
 
		liesArray(arrayEins); //Aufruf der Methode und Übergabe des Arrays
		multipliziereArray(arrayEins);
		dividiereArray(arrayEins);
		istTeiler(arrayEins);
		ersetzeElement(arrayEins);
	}
}

Ähnliche Beiträge

Dies sind die Vorteile von polymorphen Java Arrays

java programmierung polymorphie arrays

Wenn Java Arrays, Schubladen oder Container sein sollen… Dann wäre der Gebrauch einer solchen Schublade ziemlich einseitig und festgefahren. Denn in jedes Array passen zwar mehrere Daten – aber immer nur vom gleichen Datentyp. Immer gleicher Datentyp? Also eine Schublade nur für Socken, Unterwäsche und der ganze andere Kram passt […]

Java Übung & Lösung: Würfelspiel mit Wertspeicherung im Array

java übung lösung spiel array werte speichern

In dieser Java Übung soll ein Würfelspiel simuliert werden. Lege eine Klasse namens, Würfelspiel an. Diese Klasse enthält eine statische Methode, namens würfeln(). Diese Methode erwartet einen Parameter vom Datentyp Integer, namens „anzahlWuerfe“. Diese Variable/Parameter repräsentiert die Anzahl der Würfe. Nachdem der Methode die Anzahl der Würfe übergeben wurde, soll […]

Java Übung & Lösung: Gerade oder ungerade Zahlen?

java programmierung übung lösung gerade ungerade zahlen

In dieser Java Übung geht es um Zahlen. Um genau zu sein…. Es geht um gerade und ungerade Zahlen. Zur Erinnerung. Gerade Zahlen sind Zahlen, welche durch zwei teilbar sind. Ungerade Zahlen sind alle Zahlen, welche nicht glatt durch zwei teilbar sind. Ich möchte, dass du eine Klasse „GeradeZahlen“ anlegst. […]

Java Übung & Lösung: Bestimme die Anzahl der Tage

java übung lösung tage berechnen

In dieser Java Übung möchte ich, dass du eine Methode schreibst, welche zwei Zahlen entgegennimmt. Und zwar soll die erste Zahl das Jahr sein. Die zweite Zahl soll eine Monatsangabe (1-12) repräsentieren. Was soll die Methode dann machen? Die Methode soll dir die Anzahl der Tage des jeweiligen Monats zurückgeben. […]

Java Übung & Lösung: Bestimme den größten gemeinsamen Teiler

java übung lösung größten gemeinsamen teiler bestimmen

In dieser Java Übung möchte ich, dass du den größten gemeinsamen Teiler zwei Zahlen ermittelst. Ich möchte, dass du das Ganze mit einer while-Schleife umsetzt. Und wie? Du legst eine neue Klasse „GGT“ (größter gemeinsamer Teiler) an. In diese Klasse implementierst du eine Klassenmethode „berechneGGT“. Diese erwartet zwei Argumente vom […]

Java Übung & Lösung: Kommazahlen auf x-Nachkommastellen runden

java-programmierung-kommazahlen-runden

In dieser Java Übung möchte ich mit dir Zahlen runden. Ich bitte dich deshalb: Erstelle eine Klasse „RundenUebung“. Lege dann eine statische Methode rundeZahl() an. Diese erwartet zwei Parameter. Parameter 1 ist die Kommazahl, welche gerundet werden soll. Als zweiten Parameter wird eine ganze Zahl übergeben, welche die Nachkommastelle – […]

Java Anfänger Übung: Hello World

Java-Übung-Hello-World

Alles beginnt mit „Hello World“. Sämtliche Java Bücher beginnen mit diesem ersten Beispiel. Auch die Java Übungen sollen mit diesem ersten Programm starten. Definiere eine Klasse „Hello World“. Implementiere die Main Methode. Die Main Methode soll bei Programmaufruf die Bildschirmanzeige „Hallo Welt“ zurückgeben. Die Lösung zur Java Übung „Hallo Welt“ […]

Java Übung & Lösung: Das erste kleine Java Spiel

java übung lösung javaspiel

In dieser Java Übung geht es darum ein kleines Java-Spiel zu erstellen. Und zwar Zahlen raten. Was kannst du dir darunter vorstellen? Du gibst einen bestimmten Wertebereich an. Zum Beispiel 0 bis 100. Und das Java Programm erstellt eine Zufallszahl in diesem Bereich. Dann fordert dich das Programm auf, die […]

So lassen sich Java Arrays kopieren

Java Arrays kopieren oder klonen…. Was heißt das eigentlich? Eine Kopie ist eine Reproduktion bzw. die Nachbildung eines Originals. Somit ist jede Fotographie – die Abbildung einer bestimmten optischen Wirklichkeit, zu einem festen Zeitpunkt. Die Kopie einer Buchseite ist das optische Abbild dieser spezifischen Buchseite – auch zu einem festen […]

Java Übung & Lösung: Erstelle ein Mathematik- und Rechenprogramm

java übung lösung rechenprogramm

In dieser Java Übung möchte ich mit dir ein Programm erstellen, welches ein Mathematik-Test oder eine Mathe-Olympiade simuliert. Du kennst das vielleicht noch aus der Schule. Matheolympiade- Da wurden aus allen vier Grundrechenarten, Aufgaben formuliert. Die Schüler mussten diese Aufgaben lösen. Die Lehrer kontrollierten die Lösungen. Und der Schüler, welcher […]

So kannst du zweidimensionale Java Arrays anlegen und nutzen

java arrays zweidimensional

Eines der bedeutendsten Instrumente in der Mathematik ist das Koordinatensystem. Die gedankliche Grundlage dieses Werkzeuges lieferte der französische Naturwissenschaftler und Philosoph Rene Descartes. Man muss sich einmal verdeutlichen, was dies für die damalige Zeit bedeutete. Bisher wurden mathematische Probleme lediglich durch Berechnungen gelöst. Denke an geometrische Figuren, wie Dreiecke und […]

Java Übung & Lösung: Fakultät berechnen und ausgeben

java übung lösung fakultät berechnen ausgeben

In dieser Java Übung geht es um die Fakultät aufeinander folgender Zahlen. Für alle, bei denen der Mathe-Unterricht genauso lange her ist, wie bei mir: Die Fakultät ist das Produkt aufeinander folgender natürlicher Zahlen. Zum Beispiel: Die Fakultät von 2 ist: 1*2=2 Die Fakultät von 5 ist: 1*2*3*4*5=120 So – […]