Arrays

D.gigi

Mitglied
Hallo zusammen ich hab eine frage die Fragestellung lautet:
a) Schreiben Sie ein Programm, das ein Array vom Typ int anlegt. Die Länge des Arrays ist zu Beginn des Programmablaufes noch nicht bekannt. Sie soll durch eine Eingabe des Benutzers (mit Scanner) bestimmt werden. Nachdem das Array angelegt ist soll es mit aufsteigenden, durch drei teilbaren Zahlen initialisiert werden, wobei das erste Element die Zahl 3 ist (3, 6, 9, …). b) Die Länge Ihres Arrays soll zwischen 20 und 40 liegen. Erweitern Sie Ihr Programm so, dass es nach Eingabe der Länge des Arrays prüft, ob diese zwischen 20 und 40 liegt. Ist die angegebene Zahl kleiner oder größer, soll der Benutzer aufgefordert werden, erneut einen Wert einzugeben, der gültig ist.

mein code hab ich erstellt zum ende hin kommt aber nur Mist raus wäre lieb wenn mir da jemand zeigt wo der Fehler liegt.

Java:
import java.util.Scanner;

public class Aufgabe_03 {

    public static void main(String[] args) {
        
        int arraySize;
        
        System.out.println("Bitte geben sie die Array Länge ein: ");
        Scanner sc = new Scanner(System.in);
        arraySize = sc.nextInt();
        
        int[] Zahlxy = new int [arraySize];
        
        for(int i = 20; i < 40; i++)
        {
        if (i%3==0)
        {
        System.out.println(i+ " ");
        }
        if ( i < 20 || i > 40 );
        System.out.println("Nochmal: ");
        Scanner sb = new Scanner(System.in);
                
}}}
 

Robert Zenz

Bekanntes Mitglied
Erstends, formatiere deinen Code. Es ist wahnsinnig einfach in nicht formatierten die Orientierung und den Faden zu verlieren. Daher lasse diesen immer von der IDE formatieren, am besten automatisch beim speichern.

Java:
import java.util.Scanner;

public class Aufgabe_03 {
    public static void main(String[] args) {    
        int arraySize;
        
        System.out.println("Bitte geben sie die Array Länge ein: ");
        Scanner sc = new Scanner(System.in);
        arraySize = sc.nextInt();
        
        int[] Zahlxy = new int [arraySize];
        
        for(int i = 20; i < 40; i++) {
            if (i % 3 == 0) {
                System.out.println(i+ " ");
            }
            
            if (i < 20 || i > 40);

            System.out.println("Nochmal: ");
            Scanner sb = new Scanner(System.in);         
        }
    }
}

Jetzt wo der Code auch gut formatiert ist sieht man sehr schoen die Probleme, naemlich dass das alles so richtig gar keinen Sinn ergibt.

Also, laut Aufgabe muss das Array zwischen 20 und 40 Elementen fassen. Das bedeutet du musst die Benutzereingabe schon pruefen ob diese die korrekte Laenge hat. Das muss vor dem erzeugen des Arrays passieren. Also am besten die Eingabe in der while]-Schleife welche prueft ob die Groesze zwischen 20 und 40 liegt.

Danach musst du durch das Array laufen, mit einer einfachen for-Schleife ueber das Array. und die einzelnen Elemente befuellen. Da es aufsteigend Werte sein sollen welche durch drei teilbar sind, scheint es relativ einfach das Array zu befuellen da jeder Eintrag einfach (index + 1) * 3 entspricht. Das musst du nur in einer einfachen Schleife machen.
 

D.gigi

Mitglied
Erstends, formatiere deinen Code. Es ist wahnsinnig einfach in nicht formatierten die Orientierung und den Faden zu verlieren. Daher lasse diesen immer von der IDE formatieren, am besten automatisch beim speichern.

Java:
import java.util.Scanner;

public class Aufgabe_03 {
    public static void main(String[] args) {   
        int arraySize;
       
        System.out.println("Bitte geben sie die Array Länge ein: ");
        Scanner sc = new Scanner(System.in);
        arraySize = sc.nextInt();
       
        int[] Zahlxy = new int [arraySize];
       
        for(int i = 20; i < 40; i++) {
            if (i % 3 == 0) {
                System.out.println(i+ " ");
            }
           
            if (i < 20 || i > 40);

            System.out.println("Nochmal: ");
            Scanner sb = new Scanner(System.in);        
        }
    }
}

Jetzt wo der Code auch gut formatiert ist sieht man sehr schoen die Probleme, naemlich dass das alles so richtig gar keinen Sinn ergibt.

Also, laut Aufgabe muss das Array zwischen 20 und 40 Elementen fassen. Das bedeutet du musst die Benutzereingabe schon pruefen ob diese die korrekte Laenge hat. Das muss vor dem erzeugen des Arrays passieren. Also am besten die Eingabe in der while]-Schleife welche prueft ob die Groesze zwischen 20 und 40 liegt.

Danach musst du durch das Array laufen, mit einer einfachen for-Schleife ueber das Array. und die einzelnen Elemente befuellen. Da es aufsteigend Werte sein sollen welche durch drei teilbar sind, scheint es relativ einfach das Array zu befuellen da jeder Eintrag einfach (index + 1) * 3 entspricht. Das musst du nur in einer einfachen Schleife machen.
also macht bei mir nun alles kein sinn? ich hätte gedacht das es bis zur ersten System.out.println(i+" ");
noch richtig sei.
und ich weiss nicht ganz wie ich das mache, dass wenn der wert kleiner 20 oder größer als 40 ist ich ausgeben soll das es einen neuen wert ausgeben soll.
wäre sehr nett wenn du es mir einwenig näher bringen könntest und danke schonmal für deine Hilfe.
 

kneitzel

Top Contributor
also macht bei mir nun alles kein sinn? ich hätte gedacht das es bis zur ersten System.out.println(i+" ");
noch richtig sei.
Es macht zumindest nicht das, was gefordert ist.
Nachdem das Array angelegt ist soll es mit aufsteigenden, durch drei teilbaren Zahlen initialisiert werden, wobei das erste Element die Zahl 3 ist (3, 6, 9, …).
Das machst Du ja noch nicht. Und so lange a) nicht erfüllt ist, solltest Du b) nicht anfangen.

Mein Tipp bei sowas ist immer, den Algorithmus erst einmal selbst durchzuspielen.
- Du fragst nach einer Zahl.
- Du legst ein Array in der Größe der eingegebenen Zahl an.
Wie geht es weiter? Formuliere es einmal in Worten.
 

D.gigi

Mitglied
Es macht zumindest nicht das, was gefordert ist.

Das machst Du ja noch nicht. Und so lange a) nicht erfüllt ist, solltest Du b) nicht anfangen.

Mein Tipp bei sowas ist immer, den Algorithmus erst einmal selbst durchzuspielen.
- Du fragst nach einer Zahl.
- Du legst ein Array in der Größe der eingegebenen Zahl an.
Wie geht es weiter? Formuliere es einmal in Worten.
die zahl soll durch den Benutzer eingeben werden, sodass es dann durchgespielt werden kann und diese dann immer mit aufsteigenden, durch drei teilbaren Zahlen initialisiert werden kann. Das habe ich dann ja mit der for-schleife versucht und hab dann gedacht ich könnte diese dann direkt so vergeben, das sie sobald sie kleine 20 oder grösser 40 ist den Benutzer sagen kann er soll ne neue eingabe versuchen.
Dem ist aber nicht so und ich weiß ehrlich gesagt auch nicht wie ich nun ran gehen soll.
LG
 

temi

Top Contributor
Dem ist aber nicht so und ich weiß ehrlich gesagt auch nicht wie ich nun ran gehen soll.
Teile die Aufgabe in kleinere Teile und löse sie Stück für Stück.

Lese eine Benutzereingabe ein.
Erzeuge ein Array mit der richtigen Größe.
Initialisiere das Array nach Vorgabe.

Die Sache mit der Länge zwischen 20 und 40 mach erst zum Schluss. Es geht dann darum, dass du nach dem Einlesen der Benutzereingabe und vor dem Erzeugen des Arrays (und dem Rest) erst noch Prüfen musst, ob die Länge korrekt ist (und entsprechend mit eine neuen Eingabe reagieren). Dafür brauchst du dann noch eine passende Schleife.
 

D.gigi

Mitglied
Teile die Aufgabe in kleinere Teile und löse sie Stück für Stück.

Lese eine Benutzereingabe ein.
Erzeuge ein Array mit der richtigen Größe.
Initialisiere das Array nach Vorgabe.

Die Sache mit der Länge zwischen 20 und 40 mach erst zum Schluss. Es geht dann darum, dass du nach dem Einlesen der Benutzereingabe und vor dem Erzeugen des Arrays (und dem Rest) erst noch Prüfen musst, ob die Länge korrekt ist (und entsprechend mit eine neuen Eingabe reagieren). Dafür brauchst du dann noch eine passende Schleife.
aber wie soll ich es den Array mit einer richtigen Größe erzeugen wenn ich die Größe ja nicht angeben soll ?
 

mihe7

Top Contributor
aber wie soll ich es den Array mit einer richtigen Größe erzeugen wenn ich die Größe ja nicht angeben soll ?
Das hast Du doch schon richig gemacht:
Java:
    public static void main(String[] args) {
        
        int arraySize;
        
        System.out.println("Bitte geben sie die Array Länge ein: ");
        Scanner sc = new Scanner(System.in);
        arraySize = sc.nextInt();
        
        int[] Zahlxy = new int [arraySize];

Was @temi meinte: Du sollst erst alle anderen Aufgabenteile lösen und wenn das erledigt ist, dann kümmest Du Dich um die Validierung der eingegebenen arraySize, die ja zwischen 20 und 40 liegen soll.
 

D.gigi

Mitglied
Das hast Du doch schon richig gemacht:
Java:
    public static void main(String[] args) {
       
        int arraySize;
       
        System.out.println("Bitte geben sie die Array Länge ein: ");
        Scanner sc = new Scanner(System.in);
        arraySize = sc.nextInt();
       
        int[] Zahlxy = new int [arraySize];

Was @temi meinte: Du sollst erst alle anderen Aufgabenteile lösen und wenn das erledigt ist, dann kümmest Du Dich um die Validierung der eingegebenen arraySize, die ja zwischen 20 und 40 liegen soll.
Okey super ich habs geschafft Könnt ihr mir vielleicht noch sagen, wie ich eine rückwärtsausgabe mache?
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
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 42
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 4
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
S Elemente eines Arrays bei Ausgabe auslassen Java Basics - Anfänger-Themen 2
M Verständnisproblem der Rekursion bei Arrays Java Basics - Anfänger-Themen 8
F Mehrdimensionale Arrays Java Basics - Anfänger-Themen 12
M Arrays in Funktion Kopieren und Bearbeiten Java Basics - Anfänger-Themen 4
W Erste Schritte Arrays befüllen und ausgeben Java Basics - Anfänger-Themen 11
J Inhalte von zwei Arrays vertauschen?! Java Basics - Anfänger-Themen 6
Curtis_MC Erzeugung mehrdimensionaler Arrays Java Basics - Anfänger-Themen 2
O zwei Arrays nach Werten durchsuchen und zusammenfügen Java Basics - Anfänger-Themen 3
F Arbeiten mit Arrays Java Basics - Anfänger-Themen 2
D Wert des Arrays unter Bedingungen ändern Java Basics - Anfänger-Themen 1
M Werte des Arrays addieren Java Basics - Anfänger-Themen 5
L Zufällige Übereinstimmungen in 2 Arrays Java Basics - Anfänger-Themen 3
A Arrays kombinieren (länge eines Arrays kann 0 sein) Java Basics - Anfänger-Themen 6
A Alle true Werte eines boolean Arrays herausfiltern Java Basics - Anfänger-Themen 19
iman Variablen Dynamik Arrays Java Basics - Anfänger-Themen 9
R Arrays Java Basics - Anfänger-Themen 4
A Methoden Arrays Java Basics - Anfänger-Themen 20
D Unterschied == und equals in Arrays Java Basics - Anfänger-Themen 2
V Schleife für das Einlesen von Werten für int Variablen, die Bestandteil von Arrays sein sollen Java Basics - Anfänger-Themen 16
V Probleme mit Arrays Java Basics - Anfänger-Themen 8
S Arrays erstellen Java Basics - Anfänger-Themen 6
D Ergebnisse in Arrays ausgeben? Java Basics - Anfänger-Themen 11
M Die Inhalte eines Arrays mit der Methode Arrays.toString ausgeben Java Basics - Anfänger-Themen 4
R Weitergabe von Arrays aus Methoden in andere Klasse Java Basics - Anfänger-Themen 5
scratchy1 vollständige und unvollständige Arrays ausgeben Java Basics - Anfänger-Themen 11
L Tiefe Kopie einer Zeile eines zweidimensionalen Arrays Java Basics - Anfänger-Themen 1
L Dynamische Anzahl an Arrays mit verschiedenen Namen erzeugen Java Basics - Anfänger-Themen 6
L Addition von 1 bis n, in Arrays umstellen Java Basics - Anfänger-Themen 15
M Deklarieren und Initialisieren von Arrays Java Basics - Anfänger-Themen 3
O Arrays sortieren in einer Methode Java Basics - Anfänger-Themen 2
E Mehrere Arrays addieren mit Übertrag Java Basics - Anfänger-Themen 13
B Frage zu Arrays Java Basics - Anfänger-Themen 3
O Unterschied Arrays, Listen, Mengen Java Basics - Anfänger-Themen 24
F Arrays im Konstruktor Java Basics - Anfänger-Themen 5
E Methoden 2 Arrays sortieren (MergeSort) Java Basics - Anfänger-Themen 3
R 2D Arrays mit vorgegebenem Muster Java Basics - Anfänger-Themen 2
R Auf eine Stelle [i] des Arrays zugreifen Java Basics - Anfänger-Themen 7

Ähnliche Java Themen


Oben