Erste Schritte Arrays vergrößern

Javastic

Mitglied
Hallo Forum,
das ist nun mein erster Beitrag, weswegen ich mich zuerst ein wenig vorstellen möchte. Ich bin (fast) 15 Jahre alt und komme aus dem Umland von Berlin. Ich habe keine Vorerfahrungen mit anderen Programmiersprachen, jedoch arbeite ich viel mit dem Computer.

"Du bist fast 15. Habt ihr in der Schule kein Java?"

In der Schule werden wir uns Java erst in mehr als einem Jahr anschauen. Zurzeit behandelt unser Info-Wahlpflichtkurs die Sprache Scratch, weswegen ich für dieses Jahr doch lieber zum Kurs Sport gegangen bin.

"Warum Sport, wenn du doch so gerne mit dem PC arbeitest?"

Nunja, ich spiele 3x in der Woche Fußball, um mich sportlich ein wenig zu bewegen. Und da mich alle anderen Kurse bis auf Sport und Informatik nicht angesprochen haben, fiel meine Entscheidung auf Sport.

"Und wie kommst du dann auf Java?"
Wie schon gesagt wird Java ein Thema im nächsten Schuljahr sein. Um Vorwissen zu erlangen, möchte ich mir die Sprache schon einmal anschauen und vielleicht sogar schon viel Grundlegendes verstehen. Dazu möchte ich lernen, wie man bestimmte Programme für bestimmte Zwecke oder auch Apps programmiert. Vielleicht werde ich Java sogar für mein späteres Leben, in Richtung Job gesehen, brauchen.

"Weißt du denn schon etwas über Java?"
Ich weiß mittlerweile sicherlich mehr, als Leute, die die Programmiersprache nicht kennen. :p Ich habe mir diverse Videos/Tutorials zu Java angeschaut und ich habe ein Buch aus der Bibliothek ausgeliehen, was ich zurzeit lese (Java 2 für Dummies, falls das wer kennt). Dazu habe ich mit ein wenig Hilfe einen kleinen Taschenrechner programmiert, der 2 Zahlen addiert, subtrahiert, multipliziert oder dividiert.

"Und... worin liegt jetzt genau dein Problem / deine Frage?"
Als weitere Übung wollte ich ein Programm schreiben, welches Zahlen auf Primzahlen überprüft oder alle Primzahlen einer Spanne ausgibt. Ich bin, denke ich, schon relativ weit gekommen. Das Prüfen einer Zahl funktioniert glatt. Jedoch hänge ich jetzt am Ausgeben der Spanne. Die Spanne kann beliebig groß sein, worin jedoch auch, je nach Spanne, eine unterschiedliche Anzahl an Primzahlen enthalten sein kann. Dieses "Problem" wollte ich mit einem Int-Array lösen. Dabei bekomme ich jedoch immer die Fehlermeldung:
"Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0
at main_pckg.Spanne.Zahlenspanne(Spanne.java:22)
at main_pckg.Klasse.main(Klasse.java:16)
"
Soviel ich weiß bedeutet das, dass in meiner Klasse Spanne in der Methode Zahlenspanne in der Zeile 22 ein Fehler aufgetreten ist. Bei diesem Fehler handelt es sich, glaube ich, um den Platzmangel des erstellten Arrays (Wenn das falsch ist, bitte berichtigen. Ich muss noch lernen. :D). Aber ihr seit doch sowieso alle Profis, deswegen gibt's hier auch den Code von mir:

Java:
package main_pckg;

import java.util.Scanner;

public class Spanne {
  
    public static void Zahlenspanne(){
        int hälfte, teiler = 2, zahl1, zahl2, größe = 0, arzahl = 0; //arzahl = Zugriffszahl fürs Array
        int[] array = new int[größe];
        Scanner sc = new Scanner(System.in);
      
        System.out.println("Bei welcher Zahl soll die Spanne anfangen?");
        zahl1 = sc.nextInt();
        System.out.println("Bei welcher Zahl soll die Spanne enden?");
        zahl2 = sc.nextInt();
      
        while (zahl1 <= zahl2){
            hälfte = zahl1/2;        //weil der kleinste Teiler (neben 1) ist 2 -> Hälfte
            while (teiler <= hälfte){
                if (teiler == hälfte){
                    größe++;
                    array[arzahl] = zahl1;        //Wenn der Teiler so groß ist wie die Hälfte,
                    arzahl++;                    //ist die Zahl eine Primzahl und kann gepeichert werden
                      
                }else if (zahl1%teiler != 0){        //Wenn kein Rest bleibt, ist die Zahl keine Primzahl
                    teiler++;                        //-> Teiler um eins erhöhen
                }
            }
            zahl1++;
            if (zahl1 == zahl2 && größe == 0){
                System.out.println("In dieser Spanne gibt es keine Primzahl.");
            }
      
        }
        sc.close();
    }
}

Nun frage ich die Erfahrenen: Wie kann ich dieses Problem beheben, meiden oder umgehen oder gibt es eine andere Möglichkeit, die Zahlen zu speichern? Falls ihr fragen habt, warum ich was so und so gemacht hab: Bitte fragt mich.
Mir ist übrigens aufgefallen, dass wenn ich beim Ausführen die Zahlen 10 und 20 bei der Abfrage eingebe, das Programm nicht weiter ausgeführt und auch nicht gestoppt wird. Ich kann dann weitere Eingaben tätigen, die jedoch nicht aufgenommen werden. Weiß jemand, woran das liegt oder ist das nur ein Fehler?

Vielen Dank an alle, die auch nur die Fehlermeldung verbessern oder einfach "Hallo" sagen.
Einen schönen Abend noch, Javastic :)
 

InfectedBytes

Top Contributor
Ich habe mir diverse Videos/Tutorials zu Java angeschaut und ich habe ein Buch aus der Bibliothek ausgeliehen, was ich zurzeit lese (Java 2 für Dummies, falls das wer kennt).
Schlechte Wahl, denn mal so zur Info, aktuell ist Java 8 und seit dem hat sich nun wirklich extrem viel getan.

Java:
int hälfte, teiler =2, zahl1, zahl2, größe =0, arzahl =0;
int[] array =newint[größe];
größe ist 0 und somit hat deine array platz für 0 viele Elemente. Entweder ein Array erstellen, welches groß genug ist oder Variable Dinge wie z.b. eine ArrayList nutzen
 

Javastic

Mitglied
Danke für die schnelle Antwort... Zum Buch: Ich weiß, dass es neuere Versionen des Buches gibt, jedoch ist bis jetzt keins in der Bibliothek vorhanden. Ich habe aber noch ein weiteres hier zu liegen. Zu Not gibt es ja das Internetz, wo man alles findet.
Die ArrayList werde ich mir gleich mal angucken - danke für den Tipp.
 
X

Xyz1

Gast
Ich habe mir diverse Videos/Tutorials zu Java angeschaut und ich habe ein Buch aus der Bibliothek ausgeliehen, was ich zurzeit lese (Java 2 für Dummies, falls das wer kennt).

Gute Wahl, lass dir von diversen Trollen bitte keine falschen Ratschläge geben. Das Buch eignet sich hervorragend zum Lernen.
 
X

Xyz1

Gast
Ist doch wahr, ich find's immer schön zu sehen, wie Leute mit haltloser Kritik um sich werfen möchten. :D Als wüssten sie etwas besonders gut. :D :D
 
X

Xyz1

Gast
(Java 2 für Dummies, falls das wer kennt).

Das Buch ist wirklich nicht schlecht. Es gibt keinen Grund, es haltlos zu kritisieren. Nur, weil man es nicht kennt.

BTT: Scanner ist nur Ok, solange int s eingelesen werden sollen, für Zeilen ist es Schrott -
deswegen besser BufferedReader wählen.
 

Harry Kane

Top Contributor
X

Xyz1

Gast
Ich sag doch, es ist Schrott? Noch jemand, der seinen Senf dazu geben möchte, obwohl er nix beizutragen hat?
Ich hab natürlich an eine Erweiterung des Programms gedacht, wobei alles mit Scanner schwierig werden könnte. BTT heißt "Zurück zum Thema".
Wenigstens etwas sollte man den Netzjargon kennen.
Was war jetzt noch mal das Problem? Könnte jemand mal kurz und knapp TL;DR machen?
 

Harry Kane

Top Contributor
Das Buch ist wirklich nicht schlecht.
Ich sag doch, es ist Schrott?
Oder meintest du mit "es" "den Scanner" und hast nur beim Genus des Pronomens danebengegriffen?
Bitte entschuldige, dass ich so darauf herumreite, aber immerhin ist die ein Anfängerthread, und gerade da sollte besonders klar gemacht werden, worum es geht.
 
X

Xyz1

Gast
@Harry Kane
Ok,
das Buch,
der Scanner (obwohl mir das etwas widerstrebt),
das scannen.
Ist doch jetzt alles geklärt...
Wer es "einfacher/besser" haben möchte, der nimmt BufferedReader.
Und Bücher werden nicht grundlos schlecht gemacht, wenn schon geschrieben wurde, dass er/sie damit "zurechtkommt".
 
X

Xyz1

Gast
Der TE hat nie gesagt, dass er mit dem Buch zurechtkommt, oder es auf irgendeine Art sonst bewertet.
Natürlich, seid ihr alle zu dumm zum Lesen, oder was? Wie sonst hätte er/sie(/es) das obige Ergebnis produzieren können.
Ach, was unterhalte ich mich mit Trollen...
Natürlich ist BufferedReader für Aufgaben besser geeignet, für die Scanner nicht gemacht wurde. Und wenn du Token möchtest, gibt es seit ewiger Zeit Tokenizer.
Wollt ihr jetzt versuchen, @Javastic zu helfen - oder will nochmal jemand versuchen, mir ans Bein zu pinkeln?
 

Harry Kane

Top Contributor
Natürlich, seid ihr alle zu dumm zum Lesen, oder was?
Ich bin nicht alle, sondern die anderen sind alle... oder fast alle. Lerne mal richtig zählen.
Wie sonst hätte er/sie(/es) das obige Ergebnis produzieren können.
Wenn er nicht zufällig die neuste Ausgabe des Buches erwischt hat, gar nicht, den in den ersten Versionen gab es Java 5 noch nicht und damit auch keine Scanner.
Und
Ich habe mir diverse Videos/Tutorials zu Java angeschaut
Natürlich ist BufferedReader für Aufgaben besser geeignet, für die Scanner nicht gemacht wurde.
Danke für das Beispiel.
 

Javastic

Mitglied
Okay, okay... Ich wollte hier keinerlei "Krieg" zwischen den einzelnen Mitgliedern auslösen. Dennoch danke ich jedem Einzelnen für die Hilfe. Ich persönlich finde das Buch gut geschrieben. Ich lerne viel durch diese Schreibweise und kann mir einiges besser vorstellen und auch merken.
Das ganze mit BufferedReader werde ich mir demnächst auch mal angucken. Zurzeit muss ich jedoch mehr Zeit in die Facharbeit anstatt in Java investieren. :(:eek:

BTW: Ich bin männlich. :D
 
X

Xyz1

Gast
Es ist auch kein Kleinkrieg oder war ausgebrochen, sondern ich hab ein paar Deppen gesagt, sie sollen sich mit falschen Ratschlägen (Buchnichtempfehlungen) zurückhalten, wenn sie es nicht kennen zumindest. War abzusehen, dass das provozierlich wirken könnte. :D
BTT: Dein Vorhaben finde ich gut. :)
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
A Java Arrays immer um eins "vergrößern" Java Basics - Anfänger-Themen 4
B arrays dynamisch vergrößern Java Basics - Anfänger-Themen 5
DrahtEck Arrays und While-Loop Java Basics - Anfänger-Themen 27
richis-fragen Kann Arrays.stream() auch auf Objekte angewant werden? Java Basics - Anfänger-Themen 10
Fynx_HD Arrays übergeben, Mehrdimensionale Arrays Zeilenabtrennung in schleifen Java Basics - Anfänger-Themen 8
M Länge eines Arrays als Variable speichern möglich? Java Basics - Anfänger-Themen 14
R Liste und Arrays Java Basics - Anfänger-Themen 12
N mehrdimensionale arrays Java Basics - Anfänger-Themen 12
E Arrays in einer ArrayList miteinander vergleichen Java Basics - Anfänger-Themen 12
Kingdako Wie löse ich eine Mathematische Formel mit Arrays und Schleifen? Java Basics - Anfänger-Themen 32
D Wie kann man in Java nach Arrays auf Duplikate prüfen Java Basics - Anfänger-Themen 12
S Hilfe bei Praktischen Aufgaben von Arrays Java Basics - Anfänger-Themen 39
T Objekte mit arrays erstellen Java Basics - Anfänger-Themen 6
M Problem bei verschachtelter for-Schleife bei zweidimensionalen Arrays Java Basics - Anfänger-Themen 3
J Mehrdimensionale Arrays Java Basics - Anfänger-Themen 2
pc pc pc pc pc letztes Element eines Arrays n Java Basics - Anfänger-Themen 3
M Arrays Java Basics - Anfänger-Themen 3
Ostkreuz Wert von Arrays summieren Java Basics - Anfänger-Themen 1
Ostkreuz Summieren von Arrays Java Basics - Anfänger-Themen 4
javaBoon86 Arrays 2 Dimension Werte ausgeben Java Basics - Anfänger-Themen 15
paulen1 Best Practice "Unchecked Assignment" Warnung beim erstellen eines 2D Arrays of Arraylists Java Basics - Anfänger-Themen 2
B bei 2 Arrays Anzahl gleicher Elemente vergleichen? Java Basics - Anfänger-Themen 49
JustAProgrammer Ein Dreieck mit Arrays erstellen Java Basics - Anfänger-Themen 2
TheSepp Nur Arrays ausgeben, die Werte zugewiesen haben. Java Basics - Anfänger-Themen 4
volcanos Addition -> List<Integer> mit Arrays.asList() versus List<Integer>ArrayList<>() Java Basics - Anfänger-Themen 14
ArrayList mit unbekannter Menge an Arrays die Arrays vergleichen Java Basics - Anfänger-Themen 9
D Arrays an replaceAll-Methode übergeben Java Basics - Anfänger-Themen 12
rosima26 Geordnete Arrays ausgeben Java Basics - Anfänger-Themen 31
D Inhalt eines Arrays ausgeben Java Basics - Anfänger-Themen 7
A Jedes zweite Element eines Arrays entfernen Java Basics - Anfänger-Themen 30
C Zwei Arrays addieren und ausgeben Java Basics - Anfänger-Themen 3
E Zinsrechnung mithilfe von Arrays Java Basics - Anfänger-Themen 12
LePetitChat1 Arrays - NullPointerException? Java Basics - Anfänger-Themen 14
H Arrays: Größten Zahlen Unterschied herausfinden Java Basics - Anfänger-Themen 20
H Arrays befüllen Java Basics - Anfänger-Themen 43
C60 Methoden Main-Methode erkennt meine Arrays nicht. Java Basics - Anfänger-Themen 7
D Arrays Java Basics - Anfänger-Themen 9
C Java Arrays - Ausgabe in Methode Java Basics - Anfänger-Themen 12
R While-Loop der die Einträge eines Arrays in umgekehrter Reihenfolge anzeigt Java Basics - Anfänger-Themen 3
N Arrays Java Basics - Anfänger-Themen 5
W n verschiedene Arrays zufällig ausgeben - mit der Random-Klasse? Java Basics - Anfänger-Themen 8
U zwei 2D arrays auf gleich sein überprüfen Java Basics - Anfänger-Themen 14
melaniemueller Lagerverwaltung erstellen - mehrdimensionale Arrays Java Basics - Anfänger-Themen 62
C initialisieren eines arrays richtiger Größe und mit geeignetem Datentyp Java Basics - Anfänger-Themen 26
Bademeister007 Elemente aus zwei verschiedenen Arrays miteinander vergleichen und gegeben falls entfernen Java Basics - Anfänger-Themen 14
A Arrays aufsummieren Java Basics - Anfänger-Themen 11
C Wie 2 Arrays zusammenfügen und sortieren? Java Basics - Anfänger-Themen 11
S Arrays aneinanderketten Java Basics - Anfänger-Themen 20
Sinan Arrays auflisten ohne Wiederholung Java Basics - Anfänger-Themen 28
D Hilfe beim Erzeugen eines Arrays NullPointerException wird ausgelöst Java Basics - Anfänger-Themen 11
R Werte und Reihenfolge in 2d Arrays vergleichen Java Basics - Anfänger-Themen 5
D Verschlüsslungsaufgabe / Arrays Java Basics - Anfänger-Themen 6
L Methode für Zweidimensionale Arrays Java Basics - Anfänger-Themen 4
L Methode zum invertieren eines Arrays Java Basics - Anfänger-Themen 7
S zweidimensionale char arrays Java Basics - Anfänger-Themen 14
J Methoden Mehrdimensionale Arrays übereinander legen Java Basics - Anfänger-Themen 5
D Verwirrung bei Streams aus primitiven Arrays Java Basics - Anfänger-Themen 2
P Arrays mit verschiedenen Längen miteinander dividieren. Java Basics - Anfänger-Themen 1
P Wie kann ich die Zahlen dieses Arrays dividieren? Java Basics - Anfänger-Themen 2
N 2D Arrays jedes xy vergleichen Java Basics - Anfänger-Themen 7
J Traveling Salesman Problem [Arrays] Java Basics - Anfänger-Themen 9
M Arrays mit mehreren Werten über JOptionPane initialisieren Java Basics - Anfänger-Themen 12
Kawastori Größe eines Arrays bestimmen Java Basics - Anfänger-Themen 13
Zeppi Arrays[i] Java Basics - Anfänger-Themen 7
Lena_2611 Vergleich von Array1 Index mit Array2 Wert und erzeugen eines neues Arrays Java Basics - Anfänger-Themen 8
J B-Sprache mit Arrays ausführen Java Basics - Anfänger-Themen 18
A Teilarrays eines 2D-Arrays sortieren Java Basics - Anfänger-Themen 4
C Arrays - deklarieren, initialisieren? Ist das ein Objekt? Java Basics - Anfänger-Themen 3
K Sudoku mit 2D Arrays Java Basics - Anfänger-Themen 19
T Vertikales Histogramm mit Arrays Java Basics - Anfänger-Themen 3
JD_1998 Arrays einlesen, zwischenspeichern und wieder ausgeben Java Basics - Anfänger-Themen 8
Z Kein überprüfen des gesamten Arrays möglich.(Viergewinnt Spiel) Java Basics - Anfänger-Themen 6
F Arrays: Mathematische Funktion Java Basics - Anfänger-Themen 19
mihe7 Von Datentypen und (mehrdimensionalen) Arrays Java Basics - Anfänger-Themen 5
A Teilen eines Arrays Java Basics - Anfänger-Themen 5
DorFey Sortieren eines mehrdimensionalen Arrays Java Basics - Anfänger-Themen 8
N Probleme beim printen von Arrays durch for Schleife Java Basics - Anfänger-Themen 3
L If und else bei 2 Dimensionalen Arrays Java Basics - Anfänger-Themen 8
1 Arrays Java Basics - Anfänger-Themen 7
M Rückgabe eines Arrays Java Basics - Anfänger-Themen 10
L Addition von Arrays über die Parameterliste Java Basics - Anfänger-Themen 11
Z Erste Schritte Indexe innerhalb eines Arrays zusammensählen Java Basics - Anfänger-Themen 14
N Länge eines Arrays in einem Objekt testen Java Basics - Anfänger-Themen 51
S Übergabe von Arrays an Methoden Java Basics - Anfänger-Themen 20
D Collections Arrays in ArrayList abspeichern Java Basics - Anfänger-Themen 6
A Freie Stelle eines Arrays Java Basics - Anfänger-Themen 17
H Ein gegebenes Int Array zu Zwei Arrays zurück geben Java Basics - Anfänger-Themen 6
J 2D Arrays summieren Java Basics - Anfänger-Themen 21
J zwei String Arrays miteinander vergleichen Java Basics - Anfänger-Themen 18
A Java.util.Arrays Java Basics - Anfänger-Themen 15
T Methodenverknüpfung mit Arrays Java Basics - Anfänger-Themen 4
R Zugriff auf den Index eines Arrays, welches ein Objekt ist. Java Basics - Anfänger-Themen 4
F Eine Zahl mit Arrays vergleichen Java Basics - Anfänger-Themen 7
A 2d Arrays aus txt.file einlesen Java Basics - Anfänger-Themen 16
B Arrays Java Basics - Anfänger-Themen 4
P Arrays "automatisch" erstellen lassen Java Basics - Anfänger-Themen 12
B Nur eine bestimmte Anzahl an Arrays ausgeben Java Basics - Anfänger-Themen 9
H Gemeinsame Schnittmenge zweier Arrays ausgeben Java Basics - Anfänger-Themen 12
H Größte Duplikat (Größte Doppelte Wert) eines Arrays ausgeben Java Basics - Anfänger-Themen 9
A Summe des Arrays pd mit alternativer Schleife Java Basics - Anfänger-Themen 2

Ähnliche Java Themen

Neue Themen


Oben