Zahlen Array durchsuchen

Seoxx

Mitglied
Hallo, ich hab ein Problem mit einer Schulaufgabe und wäre glücklich wenn mir jemand von euch helfen könnte ...
Ich hab leider auch im Internet nichts geholfen was mir verständlich geholfen hat :/

Mittels
Java:
System.out.println("Die Zahl ist gespeichert unter Position: " + Arrays.binarySearch(randomArray, zahl));

durchsuche ich mein Array nach einer zuvor eingelesenen Zahl, die Zahl kommt allerdings unter umständen mehrfach vor und mir wird der Mittelwert der gefundenen Indexpositionen ausgegeben, es soll aber nur die erste ausgegeben werden.

hier nochmal der gesamte Quellcode zum einfacheren nachvollziehen:

Java:
import java.util.*;     //Import der Java Utilities Klasse

/**             
  * Description: Programm zum erzeugen von Zufallszahlen, speichern und durchsuchen von Arrays
  * @version 1.0 from 06.02.2015
  * @author 
  */       

public class Array_A2_Zufall {

    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        
        final int ANZ = 100;
        //int i= 0;
        char auswahl = 'a', wiederholer = 'j';
        int zahl = 0;
        int i = 0, ganzeZahl = 0, position = 0;
            
        Random zufall = new Random();
        
        //Array Erstellung
       int randomArray[] = new int[ANZ];
   
      
        
      //do Schleife zur Programmwiederholung
    do {
      
        //Menü
        System.out.println("Bitte geben Sie ein welche Aktion Sie durchführen wollen: ");
        System.out.println("a für die erzeugung der Zufallszahlen");
        System.out.println("b für die Ausgabe aller Zufallszahlen");
        System.out.println("c für die Suche einer Zahl innerhalb der Zufallszahlen");
        //Ende Auswahlmenü
        
        //Einlesen der Auswahl
        auswahl = scanner.next().charAt(0);
      
    //Switch Case     
    switch (auswahl) {
      case 'a':
          i = 0;
        do {
            randomArray[i] = zufall.nextInt(50);
            System.out.println( i + ". ganze Zufallszahl: " +randomArray[i]);
            i++;
        } while (i<ANZ); //Bedingung wiederhole solange i kleiner Array länge ist      
        break;
        case 'b': //Ausgabe aller Temperatur Werte
        i = 0;
       do {
          System.out.println(i+ ".Der Wert beträgt: "+randomArray[i]); //Ausgabe aller Werte mittels Zählschleife
          i ++;
      }while (i<ANZ); //Bedingung wiederhole solange i kleiner Array länge ist
        break; 
        case 'c':
            zahl = 0;
        System.out.println("Bitte geben Sie die Zahl ein nach der Sie suchen wollen");
        zahl = scanner.nextInt();
       Arrays.sort(randomArray);
       //Ausgabe der Sortierten Zahlen Anfang
       i = 0;
       do {
          System.out.println(i+ ".Der Wert beträgt: "+randomArray[i]); //Ausgabe aller Werte mittels Zählschleife
          i ++;
      }while (i<ANZ);
       //Ausgabe der Sortierten Zahlen Ende
       //Ausgabe der Indexposition der gesuchten Zahl
       System.out.println("Die Zahl ist gespeichert unter Position: " + Arrays.binarySearch(randomArray, zahl));
        break;
      default:
      System.out.println("Sie haben eine Falsche Angabe gemacht");
    }
    
    System.out.println("Geben sie j ein wenn sie zurück zur Auswahl kehren wollen, andernfalls geben Sie n ein: ");
    //Einlesen wiederholer Variable (Benutzer Variable)
    wiederholer = scanner.next().charAt(0);
    } while (wiederholer == 'j');
   System.out.println("Sie haben eine Falsche Angabe gemacht");
  }
}


Wäre euch sehr dankbar für etwas Hilfe! :)

Beste Grüße SeoxX
 
Zuletzt bearbeitet:

Gucky

Top Contributor
Das funktioniert aber nur, wenn du das letzte Vorkommen haben willst. Nach position = i; muss noch break; stehen, damit die Schleife verlassen wird.
 

Seoxx

Mitglied
Das funktioniert aber nur, wenn du das letzte Vorkommen haben willst. Nach position = i; muss noch break; stehen, damit die Schleife verlassen wird.

Ahh top danke!

So sieht das ganze dann jetzt aus, falls jemand auch mal so ein Problem haben sollte.
Java:
import java.util.*;     //Import der Java Utilities Klasse

public class Array_A2_Zufall {

    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        
        final int ANZ = 100;
        //int i= 0;
        char auswahl = 'a', wiederholer = 'j';
        int zahl = 0;
        int i = 0, ganzeZahl = 0, position = 0;
            
        Random zufall = new Random();
        
        //Array Erstellung
       int randomArray[] = new int[ANZ];
   
      
        
      //do Schleife zur Programmwiederholung
    do {
      
        //Menü
        System.out.println("Bitte geben Sie ein welche Aktion Sie durchführen wollen: ");
        System.out.println("a für die erzeugung der Zufallszahlen");
        System.out.println("b für die Ausgabe aller Zufallszahlen");
        System.out.println("c für die Suche einer Zahl innerhalb der Zufallszahlen");
        //Ende Auswahlmenü
        
        //Einlesen der Auswahl
        auswahl = scanner.next().charAt(0);
      
    //Switch Case     
    switch (auswahl) {
      case 'a':
          i = 0;
        do {
            randomArray[i] = zufall.nextInt(50);
            System.out.println( i + ". ganze Zufallszahl: " +randomArray[i]);
            i++;
        } while (i<ANZ); //Bedingung wiederhole solange i kleiner Array länge ist      
        break;
        case 'b': //Ausgabe aller Temperatur Werte
        i = 0;
       do {
          System.out.println(i+ ".Der Wert beträgt: "+randomArray[i]); //Ausgabe aller Werte mittels Zählschleife
          i ++;
      }while (i<ANZ); //Bedingung wiederhole solange i kleiner Array länge ist
        break; 
        case 'c':
            zahl = 0;
        System.out.println("Bitte geben Sie die Zahl ein nach der Sie suchen wollen");
        zahl = scanner.nextInt();
       /**Arrays.sort(randomArray);
       //Ausgabe der Sortierten Zahlen Anfang
       i = 0;
       do {
          System.out.println(i+ ".Der Wert beträgt: "+randomArray[i]); //Ausgabe aller Werte mittels Zählschleife
          i ++;
      }while (i<ANZ);
       //Ausgabe der Sortierten Zahlen Ende
       //Ausgabe der Indexposition der gesuchten Zahl
       **/
      for(i=0; i < randomArray.length; i++){
        if(randomArray[i] == zahl){
         position = i;
         break;
                    }
        }
         System.out.println("Die gesuchte Zahl befindet sich an Position   " +position);
         
       //System.out.println("Die Zahl ist gespeichert unter Position: " + Arrays.binarySearch(randomArray, zahl));
        break;
      default:
      System.out.println("Sie haben eine Falsche Angabe gemacht");
    }
    
    System.out.println("Geben sie j ein wenn sie zurück zur Auswahl kehren wollen, andernfalls geben Sie n ein: ");
    //Einlesen wiederholer Variable (Benutzer Variable)
    wiederholer = scanner.next().charAt(0);
    } while (wiederholer == 'j');
   System.out.println("Sie haben eine Falsche Angabe gemacht");
  }
}

Liebe Grüße ;)
 

Saheeda

Top Contributor
@Seoxx

Tut mir leid das zu sagen, aber dein Code ist kaum verständlich.

Derselbe Code, nur etwas aufgeräumter:

Java:
import java.util.*; 

public class Array_A2_Zufall {
	public static Scanner scanner = new Scanner(System.in);
	public static final int ANZ = 100;

	public static void main(String[] args) {
		
		char auswahl;
		char wiederholer = 'j';
		int randomArray[] = new int[ANZ];

		do {
			auswahl = showMenu();
			switch (auswahl) {
			case 'a':
				generateRandomNumbers(randomArray);
				break;
				
			case 'b': 
				printArray(randomArray);
				break;
				
			case 'c':
                                searchSpecificNumber(randomArray);
				
			default:
				System.out.println("Sie haben eine Falsche Angabe gemacht");
			}

			System.out
					.println("Geben sie j ein wenn sie zurück zur Auswahl kehren wollen, andernfalls geben Sie n ein: ");			
			auswahl = scanner.next().charAt(0);
		} while (auswahl == wiederholer);
		System.out.println("Sie haben eine Falsche Angabe gemacht");
	}

	private static void searchSpecificNumber(int[] randomArray) {
		System.out
				.println("Bitte geben Sie die Zahl ein nach der Sie suchen wollen");
		int zahl = scanner.nextInt();
		int position = -1;
		for (int i = 0; i < randomArray.length; i++) {
			if (randomArray[i] == zahl) {
				position = i;
				break;
			}
		}
               System.out.println("Die gesuchte Zahl befindet sich an Position   "
								+ position);
	}

	private static void printArray(int[] randomArray) {
		int i = 0;
		do {
			System.out.println(i + ".Der Wert beträgt: " + randomArray[i]);
			i++;
		} while (i < ANZ);
		
	}

	private static void generateRandomNumbers(int[] randomArray) {
		Random zufall = new Random();
		int i = 0;
		do {
			randomArray[i] = zufall.nextInt(50);
			System.out.println(i + ". ganze Zufallszahl: " + randomArray[i]);
			i++;
		} while (i < ANZ); 
		
	}

	private static char showMenu() {		
		System.out
				.println("Bitte geben Sie ein welche Aktion Sie durchführen wollen: ");
		System.out.println("a für die erzeugung der Zufallszahlen");
		System.out.println("b für die Ausgabe aller Zufallszahlen");
		System.out
				.println("c für die Suche einer Zahl innerhalb der Zufallszahlen");

		char auswahl = scanner.next().charAt(0);
		return auswahl;
	}
}
 
Zuletzt bearbeitet:
Ähnliche Java Themen
  Titel Forum Antworten Datum
onlyxlia Anzahl Random Zahlen mit Scanner abfragen und in Array speichern Java Basics - Anfänger-Themen 10
Ü Java Array - Buchstaben als Zahlen ausgeben Java Basics - Anfänger-Themen 22
XWing Doppelte Zahlen im Array Java Basics - Anfänger-Themen 8
O Zahlen aus einem char-array per char + Zeichen addieren Java Basics - Anfänger-Themen 2
T Methode, die prüft ob in einem Int-Array maximal 2 Zahlen enthalten sind, die größer als ihr Vorgänger sind Java Basics - Anfänger-Themen 5
padde479 Array Multiplikation der ersten n Zahlen Java Basics - Anfänger-Themen 7
00111010101 Objektorientiertes Programmieren mit Vererbung (Zahlen in Array verschwinden) Java Basics - Anfänger-Themen 3
P Zweidimensionales Array als Tabelle mit befüllten Zahlen Java Basics - Anfänger-Themen 10
emx-zee Erste Schritte NullPointerException, Array mit zufälligen Zahlen füllen Java Basics - Anfänger-Themen 2
B Häufigkeit einzelner Zahlen in einem Array Java Basics - Anfänger-Themen 6
H Eingegebene Zahlen mit Array ausgeben Java Basics - Anfänger-Themen 18
R Array mit Unter- und Obergrenze ganze Zahlen dazwischen erscheinen nicht Java Basics - Anfänger-Themen 1
P Nutzer entscheiden lassen, wie viele Zahlen dieser in ein Array eingeben möchte. Java Basics - Anfänger-Themen 6
L Java Int-Array, Zahlen sortieren Java Basics - Anfänger-Themen 8
E Zahlen von einem Array mit zahlen von zweitem Array vergleichen Java Basics - Anfänger-Themen 27
Moji Klassen Array Zahlen zu Sternchen (U-Helmich 7.1-4) Java Basics - Anfänger-Themen 5
A Ein Array mit zufälligen Zahlen füllen Java Basics - Anfänger-Themen 4
F Zahlen aus Datei einlesen und in Array speichern Java Basics - Anfänger-Themen 2
H Array mit Zahlen die durch 3 und 5 teilbar sind erstellen Java Basics - Anfänger-Themen 13
B Array via Schleife mit ungeraden bzw geraden Zahlen füllen Java Basics - Anfänger-Themen 7
O Array nach gleichen Zahlen prüfen und ausgeben Java Basics - Anfänger-Themen 6
J jOptionPane, Array und negative Zahlen Java Basics - Anfänger-Themen 2
H überprüfen ob in Array gleiche int-Zahlen gespeichert werden. Java Basics - Anfänger-Themen 7
T Lotto Zahlen in Array speichern Java Basics - Anfänger-Themen 2
W Erste Schritte Zweidimensionales Array - Gerade Zahlen anzeigen lassen Java Basics - Anfänger-Themen 3
B Methoden Array mit zufälligen Zahlen füllen Java Basics - Anfänger-Themen 4
X wie kann ich in bluej/java einene 2d array mit zahlen fuellen, so dass sich diese in der der zeilen Java Basics - Anfänger-Themen 2
L Array: Summe aller geraden und ungeraden Zahlen ermitteln Java Basics - Anfänger-Themen 9
H Gerade Zahlen aus Array entfernen Java Basics - Anfänger-Themen 8
B Fibonacci Zahlen rekursiv Array Java Basics - Anfänger-Themen 12
V Array zahlen eingeben und ausgeben Java Basics - Anfänger-Themen 5
J Array mit Zahlen füllen Java Basics - Anfänger-Themen 28
T Array mit String, Zahlen in If Saetze packen Java Basics - Anfänger-Themen 3
W 2dim - Array Ausgabe von Zahlen, teilbar durch 3. Java Basics - Anfänger-Themen 4
H n Zahlen aus einem Array addieren Java Basics - Anfänger-Themen 17
C OOP Array mit Zahlen zw. 0 und 9 befüllen Java Basics - Anfänger-Themen 3
A Double[] Array zahlen per Argument übergeben Java Basics - Anfänger-Themen 5
U JAVA - Ungerade Zahlen Array Java Basics - Anfänger-Themen 9
M Zahlen aus Array lesen Java Basics - Anfänger-Themen 19
N Unsortierter Array mit einmaligen Zahlen Java Basics - Anfänger-Themen 9
L Zahlen auf Diagonalen im Array Java Basics - Anfänger-Themen 15
T Erste Schritte Int Array zufällig mit Zahlen füllen Java Basics - Anfänger-Themen 7
J Erste Schritte Array: Häufigkeiten bzw. gerade/ungerade Zahlen Java Basics - Anfänger-Themen 5
T Mehrfach auftretende Zahlen in einem Array Java Basics - Anfänger-Themen 13
H Die Eingabe von beliebig vielen Zahlen in ein Array - ich kann es nicht Java Basics - Anfänger-Themen 6
A Zahlen im Array werden überschrieben Java Basics - Anfänger-Themen 6
T Zahlen in Array speichern und ausgeben Java Basics - Anfänger-Themen 14
M 3x3 - Array mit Zahlen von 0-8 zufällig belegen Java Basics - Anfänger-Themen 4
F.S.WhiTeY Mehrdimensionales array, größere zahlen von innen nach außen Java Basics - Anfänger-Themen 3
K Zahlen und buchstaben gemeinsam in ein array? Java Basics - Anfänger-Themen 17
B Zufällige Zahlen in Array sortieren Java Basics - Anfänger-Themen 18
S Zahlen in Array speichern und addieren Java Basics - Anfänger-Themen 4
M mehrfach auftretende zahlen in einem array Java Basics - Anfänger-Themen 6
M String mit mehreren Zahlen in Integer-Array Java Basics - Anfänger-Themen 2
X Array nur mit Zahlen (test) Java Basics - Anfänger-Themen 11
N Array mit negativen Zahlen Java Basics - Anfänger-Themen 4
E Array mit Zahlen von 1-(Zeilen*Spalten) befüllen Java Basics - Anfänger-Themen 8
O Zweidemensionales Array auf zwei gleiche Zahlen prüfen Java Basics - Anfänger-Themen 15
D Array nach ungerade zahlen sortieren Java Basics - Anfänger-Themen 6
A Sortieren von Zahlen in einem Array Java Basics - Anfänger-Themen 13
P Zahlen aus Datei in Array einlesen Java Basics - Anfänger-Themen 21
T Zahlen in ARRAY Sortieren Java Basics - Anfänger-Themen 10
D 6 zahlen aus einem array rausziehen Java Basics - Anfänger-Themen 2
G Zahlen aus HashSet in ein int Array übergeben Java Basics - Anfänger-Themen 15
L zahlen in mehrdimensionales array einlesen Java Basics - Anfänger-Themen 3
G Mit Switch/Case Zahlen zu Array hinzufügen Java Basics - Anfänger-Themen 14
I Zahlen in Array schreiben und dann sortieren Java Basics - Anfänger-Themen 7
P String aus Zahlen auslesen und in einem Array speichern Java Basics - Anfänger-Themen 3
Q Zahlen sortiert in Array schreiben Java Basics - Anfänger-Themen 5
P Aus Text Datei nur Zahlen übernehmen Java Basics - Anfänger-Themen 13
K Warum werden immer noch doppelte Zahlen ausgegeben ? Java Basics - Anfänger-Themen 13
M negative Zahlen bei Intervallen Java Basics - Anfänger-Themen 10
M 3 Zahlen miteinander vergleichen Java Basics - Anfänger-Themen 18
J Taschenrechner mit mehr als 2 Zahlen. Java Basics - Anfänger-Themen 18
B Alle Zahlen finden, die 3 bestimmte Ziffern enthalten? Java Basics - Anfänger-Themen 9
K Java gleicher Wert von Zahlen? Java Basics - Anfänger-Themen 5
I aus 2 random zahlen soll nur die ungerade summe der beiden genommen werden. Java Basics - Anfänger-Themen 13
J Operatoren Zahlen addieren Java Basics - Anfänger-Themen 13
B Threads Counter mit ungeraden Zahlen Java Basics - Anfänger-Themen 32
JavaBeginner22 Java 2 Zufalls zahlen generieren. Java Basics - Anfänger-Themen 11
X Wie kann man ein Regex erstellen, die 8-Bit-Binär-Zahlen darstellen. Java Basics - Anfänger-Themen 1
M Stream mit den ersten n natürlichen Zahlen Java Basics - Anfänger-Themen 4
D Größtes Palindrom Produkt aus zwei dreistelligen Zahlen Java Basics - Anfänger-Themen 60
sserio Befreundete Zahlen Java Basics - Anfänger-Themen 7
AhmadSlack Verzweigungen zahlen multiplizieren Java Basics - Anfänger-Themen 4
U Lotto-Zahlen App Java Basics - Anfänger-Themen 34
berserkerdq2 Wie würde man einen regulären Ausdruck in Java schreiben, der prüft, dass zwei bestimtme Zahlen nicht nebeneinadner sind? Java Basics - Anfänger-Themen 3
H Arrays: Größten Zahlen Unterschied herausfinden Java Basics - Anfänger-Themen 20
bluetrix Programmieren eines Bots für Zahlen-Brettspiel Java Basics - Anfänger-Themen 9
J Zahlen bis zu einem bestimmten Grenzwert ausgeben Java Basics - Anfänger-Themen 11
W Wie ziehe ich von einer bestimmten Zahl, Zahlen ab, bis mein Ergebnis null beträgt? Java Basics - Anfänger-Themen 10
W Bestimmte Zahlen bei Math.random ausschließen? Java Basics - Anfänger-Themen 31
K Erste Schritte "Taschenrechner" zeigt keine Komma Zahlen an. Java Basics - Anfänger-Themen 8
P Drei Zahlen eines Würfelspiels auswerten Java Basics - Anfänger-Themen 7
H Häufigkeit von Zahlen ermitteln Java Basics - Anfänger-Themen 23
sashady Zahlen rekursiv zerlegen und Ziffern addieren Java Basics - Anfänger-Themen 38
H Zahlen kürzen Java Basics - Anfänger-Themen 2
ansystin Teilerfremde Zahlen ausgeben + Zahlenausgabe speichern Java Basics - Anfänger-Themen 3
nevel Programm für die Summer der Zahlen 1- 1ß Java Basics - Anfänger-Themen 12
jhCDtGVjcZGcfzug Fibonacci Zahlen rekursiv und iterativ Java Basics - Anfänger-Themen 21

Ähnliche Java Themen

Neue Themen


Oben