Fragen zu Arrays

Cygan93

Mitglied
Hallo,
ich habe eine Frage zu Arrays;

Die Aufgabe lautet: 
Implementieren Sie die Methoden range und containsDuplicates der Klasse Array.
- range gibt die Di efferenz des größten und kleinsten Elements des übergebenen Ar- 
rays zuruck. 
- containsDuplicates gibt true zuruck, falls in dem  übergebenen Array mindestens 
eine Zahl mindestens doppelt vorkommt, false anderenfalls.
Java:
public class Array {

public int range(int[] a) {
// Gibt die Differenz des großten und kleinsten
// Elements des Arrays zurück.
}
public boolean containsDuplicates(int[] a) {
// Gibt true zurück, falls in dem Array mindestens
// eine Zahl mindestens doppelt vorkommt, false
// anderenfalls.
}
}
Meine Fragen;
1)Wie mache ich eine Subtraktion in Arrays?
2)Puplic boolean containsDuplicates wie heißen da die befehle? Hatte diese aussage noch nie!
 
Zuletzt bearbeitet:

kaoZ

Top Contributor
ich glaube so in der art sollte das klappen , insofern nur du die anzahl der hinzugefügten Werte kennst

Java:
package versuche;

public class Foo{
	
	public Foo(){
		
	}
	
	
	public int range(int[]r){

		 int erg = 0;
		
		if(r[0]<r[1]){
			
			erg = r[1]-r[0];
		}
		else if(r[0]>r[1]){
			
			erg = r[0]-r[1];
		}
		
		System.out.print(erg);
		return erg;            // <<---gibt den restwert nach der Berechnung zurück , wird hier allerdings nicht verwendet  deswegen auch das sysout darüber
	}
	
	public static void main(String[]args){

		new Foo().range(new int[]{10,15});
	}
}
 

kaoZ

Top Contributor
Hier nochmal in aktion

Java:
package versuche;

public class Foo{
	
	int[] number = {90,30};
	
	public Foo(){

	}
	
	public int range(int[]r){

		int result =0;;
		
		if(r[0]<r[1]){
			
			result = r[1]-r[0];
		}
		else if(r[0]>r[1]){
			
			result = r[0]-r[1];
		}
		return result;          // result wird zurückgegeben
	}
	
	public void rechnen(){
		
		int erg = 44 + range(number);   // enthält den errechneten rückgabewert und addiert 44 dazu
		System.out.println(erg);  // gibt das ergebnis aus 
	}
	
	public static void main(String[]args){

		new Foo().rechnen();
	}
}
 

kaoZ

Top Contributor
Das ist sehr einfach gehalten , wenn es weiter in die materie geht gibt es Comperatoren um z.B mehrere Arrays miteinander zu vergleichen , aber das war ja hier nicht die Frage :

2 werte in einem Array vergleichen
Java:
package versuche;

public class Foo{
	
	static int[] same = {45,45};
	
	boolean erg;
	
	public Foo(){

	}
	public boolean containsDuplicates(int[] a) {
		
		if(a[0] == a[1]){
			
			return true;
		}
		else{
			return false;
		}
	}
	public void print(){
		
		erg = containsDuplicates(same);
		System.out.println(erg);
	}

	public static void main(String[]args){

		new Foo().print();
	}
}
Ausgabe : true
 

Cygan93

Mitglied
Also die einzige Aussage die ich nicht mit dazu geschrieben habe ist:
Sie können davon ausgehen, dass alle Felder der übergebenen Arrays mit  int-Werten
besetzt sind.
Aber kann man davon die länge des Arrays bestimmen?
 

kaoZ

Top Contributor
mit
Code:
xyz.length;
erhälst du die länge des Arrays als int Wert,ich wüsste jetzt nicht wie du alle Werte eines Arrays verlgeichen könntest , wenn du deren länge nicht kennst , da ja das initialisierte Array immer eine Feste länge hat.
 

njans

Top Contributor
Hallo,
public class Array {

public int range(int[] a) {
// Gibt die Differenz des großten und kleinsten
// Elements des Arrays zurück.
}
public boolean containsDuplicates(int[] a) {
// Gibt true zurück, falls in dem Array mindestens
// eine Zahl mindestens doppelt vorkommt, false
// anderenfalls.
}
}
[/code]
Meine Fragen;
1)Wie mache ich eine Subtraktion in Arrays?
2)Puplic boolean containsDuplicates wie heißen da die befehle? Hatte diese aussage noch nie!

Also ich wundere mich, dass eine so simple Aufgabe nicht mehr Feedback erhält.
zu deiner range Methode:
Du musst doch nur über das Array iterieren (for-Schleife nutzen) und dann 2 Integer speichern: int min, das momentane Minimum und int max, das momentane Maximum. Du gehst dann über jeden Wert im Array und schaust, ob er größer als max ist oder kleiner als min. Achtung: Dabei darfst du natürlich nicht min und max mit 0 initialisieren, sondern nimmst am besten den ersten Wert des Arrays als min und max.

Zu der contains Methode:
Simpler weg: 2 Schleifen, verschachtelt. Für jeden Wert gucken, ob er gleich mit einem anderen Wert im Array ist. Hierbei natürlich nicht den Wert an der selben Stelle mit sich selbst vergleichen.
 

Cygan93

Mitglied
Hallo,
das Prinzip was ich machen soll habe ich verstanden allerdings kann ich diesen Schritt nicht in programmier Sprache übersetzen!
Ich habe erstmal das hier Versucht;
Java:
public class Array {
public int range(int[] a) {
		// Gibt die Differenz des größten und kleinsten
		// Elements des Arrays zurück.
		int min;
		int max;
		for (int a = 1; a < min , a > max; a++) {
	           
	        }
	}
}
sieht für mich allerdings alles andere als richtig aus!
 

njans

Top Contributor
Java:
public class Array {
public int range(int[] a) {
		// Gibt die Differenz des größten und kleinsten
		// Elements des Arrays zurück.
		int min = a[0];  // initialwert ist der erste Wert im Array
		int max = a[0]; // initialwert ist der erste Wert im Array
		for (int a = 0; a  < a.length; a++) { // Arrays starten bei 0 und gehen bis (inklusive) länge-1
	          if (wert an der stelle i ist größer als max){
                     setze max auf den wert an der stelle i}
                  if (wert an der stelle i ist kleiner als min){
                     setze min auf den wert an der stelle i}
	        }
	}
}

Hilft es, wenn man es so aufschreibt? Kannst du es s denn umsetzen?
 

kaoZ

Top Contributor
Hier schonmal für dein erstes Problem:

Java:
package versuche;


public class Foo{
	
	int min,max;
	int[] num;
	
	public Foo(){
		
		num = new int[]{45,54,88,662,668,454,456,888}; // willkürlich gewählte zahlen 
		compare(num);  // <<-- Compare Methode aufrufen und ihr das Array Übergeben
		System.out.println(max);
		System.out.println(min);
		System.out.println(max - min);
	}
	
	public void compare(int[]a){

		min = num[0]; // num den ersten Wert in deinem Array Zuweisen ! WICHTIG
		
		for(int i=1;i<a.length;i++){	
//Findet den größten Wert in deinem Array
			if(a[i] > max){
				max = a[i];	
			}
//Findet den kleinsten Wert in deinem Array
			if(a[i] < min){
				min = a[i];
			}
		}
	}


	public static void main(String[]args){
		
		new Foo();
	}

}
//Ausgabe ist folgende 

888 //max 
45  //min
843  //max - min
 
Zuletzt bearbeitet:

njans

Top Contributor
Warum gibst du ihm die Lösung vor?
Das bringt ihm jetzt aber nichts, er muss ja verstehen, wie man das implementiert.
 

kaoZ

Top Contributor
Mir hat sowas immer geholfen , wenn ich eine Vollständige / Pseudo Code lösung gesehen habe , als ich am schreiben war hab ich noch nicht mitbekommen das du schon eine Pseudo Code lösung gepostet hast:oops:, auf grundlage unserer Antworten kann er aber nun versuchen eine Lösung für sein 2tes Problem das vergleichen von Werten zu erstellen :)
 
Zuletzt bearbeitet:

Cygan93

Mitglied
Vielen vielen dank euch beiden!
Sowohl die Lösung als auch die Stütze haben mir extrem geholfen!
Am Ende sieht mein Programm so aus;
Java:
public class Array{
public int range(int[] a) {
		// Gibt die Differenz des größten und kleinsten
		// Elements des Arrays zurück.
		int erg = 0;
	    if( a[0] < a[1]){
	    	erg = a[1]-a[0];
	    }
	    else if( a[0] > a[1] ){
	    	erg = a[0]-a[1];
	    }
	     return erg; 
	}
		        
	
	public boolean containsDuplicates(int[] a) {
		// Gibt true zurück, falls in dem Array mindestens
		// eine Zahl mindestens doppelt vorkommt, false
		// anderenfalls.
		int min = a[0];  // 
        int max = a[0]; 
        for (int i = 0; i < a.length; i++) { 
              if (i > max){
                     max = a[i];}
                  if (i < min){
                     min = a[i];}
            }
    }
}
 

njans

Top Contributor
Also das erste was mir auffällt:
Deine containsDuplicates Methode berechnet das min und das max in deinem Array. Das sollte sie aber gar nicht machen.
Deine range Methode betrachtet nur die ersten zwei Einträge des Arrays und berechnet die Differenz. Du willst aber max - min des Arrays errechnen.
 

ARadauer

Top Contributor
Java:
	    if( a[0] < a[1]){
	    	erg = a[1]-a[0];
??? macht doch keinen sinn, wenn mehr als zwei werte drinnen sind.
wurde gesagt, dass das array nur aus zwei werten besteht.

Mach einfach eine Methode die dir das Maximum sucht und eines das dir das Minimum sucht und verwende dann diese beiden Methoden.
Maximum suchen.. usw sollte machbar sein...
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
L fragen zu arrays Java Basics - Anfänger-Themen 8
S Fragen zu Arrays Java Basics - Anfänger-Themen 6
B fragen zur for-schleife und arrays Java Basics - Anfänger-Themen 8
L Erste Schritte Fragen zu Arrays, Inkrement Operatoren, Dekrement Operatoren ? Java Basics - Anfänger-Themen 9
S Datentypen Fragen zu Arrays Java Basics - Anfänger-Themen 31
K Kleine Fragen über Arrays Java Basics - Anfänger-Themen 8
J Fragen zum Thema Arrays Java Basics - Anfänger-Themen 5
Zrebna Fragen zu einem Klassendiagramm Java Basics - Anfänger-Themen 8
H Fragen zu Wrapperklassen Java Basics - Anfänger-Themen 29
S Best Practice Fragen zu Projektstruktur einer Datenbank-Abfrage-App (MVC) Java Basics - Anfänger-Themen 13
A Bei VierGewinnt fragen ob man gegen CPU oder Menschen spielen will. Java Basics - Anfänger-Themen 7
A Bei VierGewinnt vorher fragen, ob man gegen den Computer spielen möchte oder gegeneinander. Java Basics - Anfänger-Themen 1
A Bei VierGewinnt fragen, ob man gegen den Computer spielen möchte oder gegeneinander Java Basics - Anfänger-Themen 1
sserio Wie kann man nach einer Klasse fragen? Java Basics - Anfänger-Themen 12
G Fragen zu Kompelierfehler in Aufgabe. Java Basics - Anfänger-Themen 25
E Bäume/ allgemeine Fragen Java Basics - Anfänger-Themen 21
O Falsche Antworten zu Fragen Java Basics - Anfänger-Themen 4
S Diverse Fragen vor Schulaufgabe ;) Java Basics - Anfänger-Themen 4
S Fragen zu Ausgabe double und float Java Basics - Anfänger-Themen 3
B fragen zu Aufbau eines UML-Klassendiagramm Java Basics - Anfänger-Themen 1
C 3 Fragen rund um Klassenattribute Java Basics - Anfänger-Themen 8
L Erste Schritte Log4J Fragen Java Basics - Anfänger-Themen 5
NeoLexx Fragen zu diversen Elementen der Javabibliothek Java Basics - Anfänger-Themen 5
D Budget Manager fragen zur Umsetzung Java Basics - Anfänger-Themen 9
N Fragen zur Datenspeicherung Java Basics - Anfänger-Themen 45
T Java Anfänger mit konkreten Fragen Java Basics - Anfänger-Themen 2
CT9288 Fragen zu Java Java Basics - Anfänger-Themen 16
W Fragen zu Generics Java Basics - Anfänger-Themen 14
T ObjectInput/OutputStream Fragen zur Funktionsweise Java Basics - Anfänger-Themen 3
J Fragen zu einer Methode Java Basics - Anfänger-Themen 3
J Fragen zum Code aus dem Buch "Schrödinger programmiert Java 2.te Ausgabe" Java Basics - Anfänger-Themen 6
Z Fragen zu Exception (Throws/throw) Java Basics - Anfänger-Themen 7
J Fragen zu Input/Output Java Basics - Anfänger-Themen 3
J Erste Schritte Oracle Tutorials zu Java 8 - Fragen dazu Java Basics - Anfänger-Themen 1
H Java Quereinsteiger Roadmap und Fragen Java Basics - Anfänger-Themen 29
H fragen Java Basics - Anfänger-Themen 15
M Samelsarium Grundlegender Fragen 2 Java Basics - Anfänger-Themen 9
M Sammelsarium an Grundlagen Grundlagen Fragen Java Basics - Anfänger-Themen 11
B Java ist / wird kostenpflichtig. Ein paar Fragen Java Basics - Anfänger-Themen 1
J Fragen zu synrchonized und kritischen Abschnitten Java Basics - Anfänger-Themen 5
S Fragen zu einem Rechentrainer Java Basics - Anfänger-Themen 2
B Java Vererbung Fragen (zu Code Beispiel) Java Basics - Anfänger-Themen 3
J Wo kann man Fragen zu ireport stellen. Java Basics - Anfänger-Themen 0
M Fragen zum Anlegen und Benutzen von Listen Java Basics - Anfänger-Themen 9
G Ein paar Anfänger Fragen zu StdDraw Java Basics - Anfänger-Themen 4
D Fragen zur Klassen Java Basics - Anfänger-Themen 4
Aprendiendo Zwei Fragen und ein geerbtes "protected"-Attribut Java Basics - Anfänger-Themen 2
J Interface Fragen bezüglich "Sauberkeit" von Code Java Basics - Anfänger-Themen 5
D Objekte-Fragen Java Basics - Anfänger-Themen 1
V Erste Schritte Habe Fragen zu der For und While Schleife als auch Inkrement und Dekrement Java Basics - Anfänger-Themen 4
D Anfänger-Fragen(Parameter einer Methode) Java Basics - Anfänger-Themen 7
K Zwei Fragen zu Graphics/Graphics2D Java Basics - Anfänger-Themen 5
R Fragen über den Konstruktor Java Basics - Anfänger-Themen 0
Azazel Ein paar Fragen zu Methodenaufrufen(java.awt) Java Basics - Anfänger-Themen 2
S Erste Schritte Fragen zur For-Schleife Java Basics - Anfänger-Themen 9
C Interface Fragen zum Interface Java Basics - Anfänger-Themen 7
GreenTeaYT Exception und zur OOP fragen? Java Basics - Anfänger-Themen 3
C Fragen zum Spigot Plugin (1.8) Java Basics - Anfänger-Themen 6
J Fragen zu Exceptions Java Basics - Anfänger-Themen 24
N Quiz- Fragen zufällig anzeigen lassen Java Basics - Anfänger-Themen 7
J Verschieden Fragen über Java Programmierung Java Basics - Anfänger-Themen 3
L Viele Fragen zu den Grundlagen Java Basics - Anfänger-Themen 5
B Fragen zu ZIP-File Java Basics - Anfänger-Themen 9
L Fragen zu selbstgeschriebenem Programm Java Basics - Anfänger-Themen 5
M Fragen zum Auslesen von HTML Seiten Java Basics - Anfänger-Themen 5
J Threading-Aufgabe. Totale Noob Fragen, aber bitte trotzdem beantworten ;) Java Basics - Anfänger-Themen 7
S Java Fragen Konstruktor & Statische Methoden Java Basics - Anfänger-Themen 4
K Erste Schritte Frage Antwort Spiel - Fragen zur Planung Java Basics - Anfänger-Themen 2
C Java Applet Fragen: Serialisierung, Excel import Java Basics - Anfänger-Themen 2
Anfänger2011 2 kleine Fragen zu ArrayListen Java Basics - Anfänger-Themen 5
S Fragen zu Ausdrücken&Bedingungen Java Basics - Anfänger-Themen 5
A 2 kurze Anfänger fragen Java Basics - Anfänger-Themen 6
H grundlegende Fragen Java Basics - Anfänger-Themen 3
V Interface ich schäme mich das zu fragen, aber ich schaff nicht ein Text zu zentrieren :( [javaFX] Java Basics - Anfänger-Themen 6
N Programm: Fragen beantworten Java Basics - Anfänger-Themen 6
C Anfänger Anfänger Fragen Java Basics - Anfänger-Themen 8
Z Compiler-Fehler LinkedList Fragen Java Basics - Anfänger-Themen 4
D Rekursion Allgemeine Fragen Java Basics - Anfänger-Themen 2
D [Fragen] zu Methoden Java Basics - Anfänger-Themen 2
S Fragen zur Implementierung eines Binärbaums Java Basics - Anfänger-Themen 3
T Ein paar Fragen zu OOP und Java. Java Basics - Anfänger-Themen 16
J Allgemeine Fragen zur GUI Java Basics - Anfänger-Themen 1
johnnydoe Erste Schritte Erster Blick - erste Fragen Java Basics - Anfänger-Themen 11
DStrohma Grundsätzliche Fragen zu Drag & Drop Java Basics - Anfänger-Themen 1
N Klassen fragen zur getter und setter methode Java Basics - Anfänger-Themen 11
S 3 Fragen, Verzeichnis, GridLayout psoitionieren, Werte für JSpinner Java Basics - Anfänger-Themen 2
T Fragen zu Set / Relationen verknüpfen Java Basics - Anfänger-Themen 4
S 2 Fragen Java Basics - Anfänger-Themen 4
S Hallo und Fragen zu Arbeitsverzeichnis und Menü Java Basics - Anfänger-Themen 8
N Java Fragen... Java Basics - Anfänger-Themen 10
F ExecutorService Fragen! Java Basics - Anfänger-Themen 2
O HashMap Fragen Java Basics - Anfänger-Themen 8
T viele "kleine" Fragen... Java Basics - Anfänger-Themen 3
S Fragen zur Implementierung eines Adressbuches Java Basics - Anfänger-Themen 20
K Diverse Fragen zum Fehlerlogging Java Basics - Anfänger-Themen 9
N StringReader - Fragen Java Basics - Anfänger-Themen 8
C Einige Fragen zu Frames Java Basics - Anfänger-Themen 7
M Erste Schritte Allgemeine Fragen Java Basics - Anfänger-Themen 4
PaulG Fragen zu Binärbaum Java Basics - Anfänger-Themen 21
P Methoden Aquarium (Fragen zum Scanner) Java Basics - Anfänger-Themen 5

Ähnliche Java Themen

Neue Themen


Oben