Doppelte Zahlen im Array

XWing

Mitglied
Also ich versuch grade ein programm zu schreiben in das man beliebige zahlen eingibt, dann wird die eingabe in einem Array gespeichert und soll kontrolliert werden ob es zahlen doppelt gibt. Und wenn es Zahlen doppelt gibt dann soll so gelöscht werden
Java:
import java.util.Scanner;



public class main {
    public static void main(String [] args){
        Scanner scan = new Scanner(System.in);
        String[] Zahlenliste;
        int zahlen;
        

        System.out.println("Bitte die gewünschten Zahlen eingeben(jede zahl mit einem komme trennen)");
        zahlen = scan.nextInt();
        Zahlenliste = zahlen.split(,);

        switch(Zahlenliste) {
            case 1:
                if
        }

    }
}
Ich hab es so versucht das die zahlen mit der .split methode zu trennen. Aber wenn ich das mache sagt mir intellij das das nicht geht.
Das überprüfen ob es doppelte zahlen gibt hab ich mit einem Switch case versucht hab dann aber gemerkt das ich es nicht hinkriege und nach einer anderen methode gesucht und bin auf
Code:
int[] deleteEquals(int[] ia)
gestoßen. Da verwirrt mich jetzt aber ob das ia eine methode ist oder einfach nur der Namer von dem int weil im INternet hab ich dazu auch nichts gefunden und als ich denn Namen ändern wollte hat intellij wieder gemeckert.

Meine fragen sind jetzt:

1. warum die .split methode nicht funktioniert oder ob sie funktioniert aber nur mit einem String
2. wenn keine split methode geht was für eine methode geht dann?
3. kann man das löschen der doppelten zahlen damit:
Code:
int[] deleteEquals(int[] ia)
machen, mit einem switch case oder mit einer ganz anderen methode?
4. ob man sagen muss das es ein
Code:
int[] donut;
array sein muss?
 

KonradN

Super-Moderator
Mitarbeiter
1. warum die .split methode nicht funktioniert oder ob sie funktioniert aber nur mit einem String
Du fragst ja den Scanner nach einem int. Ein int ist nun einmal eine ganze Zahl und keine Zahlenreihe. Des weiteren ist ein int ein Basis Datentyp. Da kann man so also keine Methoden aufrufen. Das würde nur auf Referenzen gehen.

Wenn Du also eine Zahlenreihe eingeben können willst, dann musst Du da einen vernünftigen Datentyp für aussuchen und das könnte dann tatsächlich ein String sein.

2. wenn keine split methode geht was für eine methode geht dann?
Du musst halt deutlich mehr anpassen. Wie Du die Eingabe durchführst und die verwendeten Datentypen ...

3. kann man das löschen der doppelten zahlen damit:
Also die Signatur der Methode ist erst einmal ok, aber das mit dem swith case habe ich nicht verstanden. Wenn Du etwas programmieren möchtest, dann musst Du Dir genau überlegen, wie Du da vorgehen möchtest. Das kannst Du mit einem Stift und Papier machen. Wenn ich Dir eine Liste von Zahlen gebe: Wie schaffst Du es, doppelte Zahlen zu löschen? Wenn Du es hin bekommen solltest, dann überlege genau, wie Du vorgegangen bist. Schreibe die Schritte auf. Wenn Du das einmal hast, dann musst du die Schritte nur noch in ein Java Programm übersetzen.

4. ist wieder unverständlich. Was genau willst Du denn da wissen?
 

XWing

Mitglied
(1)Gut wenn ich einen String nehme kann ich trotzdem zahlen eingeben. Danke
Aber jetzt habe ich das problem das nicht die Liste an sich sondern irgenwas ausgegeben wird.
Java:
import java.util.Scanner;

public class main {
    public static void main(String [] args){
        Scanner scan = new Scanner(System.in);
        String[] Zahlenliste;
        String zahlen;

        System.out.println("Bitte die gewünschten Zahlen eingeben(jede zahl mit einem komme trennen)");
        zahlen = scan.nextLine();
        Zahlenliste = zahlen.split(",");

        System.out.println(Zahlenliste);

    }
}

ausgabe:[Ljava.lang.String;@610455d6
Da verstehe ich jetzt nicht ganz warum das ausgegeben wird wenn ich sage das der Array ausgegeben werden soll.

(2)Was heißt deutlich mehr anpassen, wie kann man das anpassen?

(3)Mit dem Switch case meine ich das ich sage das gleiche zahlen gelöscht werden nur das ich das ein switch case durch denn ganzen Array gehen lasse.
Code:
switch(Zahlenliste){
    case 1:   
        if wenn eine zahl gleich ist wird sie gelöscht
}
Und wie funktioniert das
Code:
int[] deleteEquals(int[] ia)
das genau?
Mich verwirrt das total weil ich finde auch keine richtige antwort dazu im Internet

(4)Damit mein ich ob man vorher sagen muss das wenn man int oder Strings einspeichern möchte denn Array so definieren muss mit int[] und String[]
 

mihe7

Top Contributor
Da verstehe ich jetzt nicht ganz warum das ausgegeben wird wenn ich sage das der Array ausgegeben werden soll.
Du übergibst bei System.out.println(Zahlenliste) ein Objekt, dessen toString()-Methode aufgerufen wird. Da die spezielle "Arrayklasse" die Methode java.lang.Object#toString() nicht überschreibt, wird eben https://docs.oracle.com/en/java/javase/19/docs/api/java.base/java/lang/Object.html#toString() ausgeführt und das liefert eben einen solchen String.

Du willst ja eine Auflistung der Inhalte des Arrays. Versuch mal System.out.println(Arrays.toString(Zahlenliste));, wobei Arrays aus dem Paket java.util stammt.

(3)Mit dem Switch case meine ich das ich sage das gleiche zahlen gelöscht werden nur das ich das ein switch case durch denn ganzen Array gehen lasse.
Das gibt überhaupt keinen Sinn. Ein switch ist einfach ein Statement, das den im switch angegebenen Ausdruck mit dem im case angegebenen vergleicht und bei Gleichheit den entsprechenden Code ausführt.

Java:
switch(Zahlenliste) {
Zahlenliste ist hier eine Variable, die eine Referenz auf ein Array hält. Wäre der Spaß syntaktisch zulässig, würdest Du an der Stelle einen Referenzvergleich durchführen. Zwei Referenzen können aber nur gleich oder ungleich sein. Das switch-Statement ist also völliger Unfug.

Und wie kommst Du auf case 1?!?

Und wie funktioniert das
Code:
int[] deleteEquals(int[] ia)
das genau?
Das ist einfach die Signatur eine Methode, die Du implementieren und aufrufen könntest.
Java:
static int[] deleteEquals(int[] input) {
    int[] output;
    // hier die Implementierung
    return output;
}
Wenn Du eine solche Methode in Deine Klasse aufnimmst, könntest Du die Methode aufrufen. Das static habe ich nur hinzugefügt, damit Du es von main aus aufrufen kannst (die main-Methode ist auch static).

(4)Damit mein ich ob man vorher sagen muss das wenn man int oder Strings einspeichern möchte denn Array so definieren muss mit int[] und String[]
Ja, muss man. Lies Dir mal https://www.java-forum.org/thema/von-datentypen-und-mehrdimensionalen-arrays.189506/ durch, vielleicht hilfts.
 

KonradN

Super-Moderator
Mitarbeiter
Wobei diese Anfänger Aufgaben aus meiner Sicht weniger die Lösung sondern den Lösungsweg im Fokus haben.

Daher ist es existenziell, dass man sich hier überlegt, was man wie machen kann. Und der einfachste Weg ist immer per Stift und Papier sich sowas zu überlegen und das muss gelernt werden.

Daher ist wirklich die Frage: Wenn man Dir ein Array gibt aus [ 1, 5, 9, 3, 1, 9, 7 ]
  • Kannst Du die doppelten Zahlen löschen?
  • Wie gehst Du vor?
Dann hat man sich ganz schnell einen Algorithmus überlegt, den man dann nur noch umsetzen muss. Aber diese erste Überlegung, die ist das Wichtige und diesen Schritt muss man erst einmal hin kriegen. Denn da entsteht die Lösung.
 

XWing

Mitglied
ok nice hat mir sehr geholfen aber jetzt hab ich das problem das intellij bei manchen sachen meckert und ich mir jetzt nicht sicher bin ob was fehlt oder ich was falsch mache. Ich kann schlecht erklären wo genau das ist aber überhalt wo so ein _ ist wird gemekert
Java:
import java.util.Scanner;

public class main {
    public static void main(String [] args){
        Scanner scan = new Scanner(System.in);
        String[] Zahlenliste;
        String zahlen;

        System.out.println("Bitte die gewünschten Zahlen eingeben(jede zahl mit einem komme trennen)");
        zahlen = scan.nextLine();
        Zahlenliste = zahlen.split(",");
        deleteEquals()_
        System.out.println(_Array_.toString(Zahlenliste));
    }
    
    static int[] deleteEquals(int[] input) {
        int[] output;
        int[] deleteEquals(_int[] ia_)
        return output;
    }
}
 

KonradN

Super-Moderator
Mitarbeiter
Die Methode deleteEquals will ein Parameter und Du hast beim Aufruf kein Parameter angegeben (Zeile 12). Und es fehlt ein ; am Ende der Zeile.

Und was Du da in der Methode deleteEquals machen willst, kann ich nicht erkennen. Die Zeile 18 ist so erst einmal einfach Quatsch.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
K Warum werden immer noch doppelte Zahlen ausgegeben ? Java Basics - Anfänger-Themen 13
D Java doppelte Zahlen auch über 10 in einem String entfernen Java Basics - Anfänger-Themen 2
V Doppelte Zahlen bei Lotto verhindern Java Basics - Anfänger-Themen 11
P Doppelte werte in einer Liste zählen Java Basics - Anfänger-Themen 11
D Doppelte For Schleife / Array Java Basics - Anfänger-Themen 3
C das Doppelte des Wertes in der Console ausgeben Java Basics - Anfänger-Themen 10
tom.j85 Doppelte Foreach Schleife: Am Ende wird immer das Gleiche Objekt eingefügt Java Basics - Anfänger-Themen 4
H Größte Duplikat (Größte Doppelte Wert) eines Arrays ausgeben Java Basics - Anfänger-Themen 9
X Threads Zwei Threads, aber doppelte Ausgabe verhindern (synchronized) Java Basics - Anfänger-Themen 54
H Frage zur ermittlung eines doppelte Paars aus Sotieralgorithmus Java Basics - Anfänger-Themen 4
N Best Practice Doppelte und einfach Anführungsstriche in Runtime.getruntime().exec() Java Basics - Anfänger-Themen 6
J Doppelte Ausgabe erzeugen Iterator Java Basics - Anfänger-Themen 6
L Doppelte Schleife Anpassen Java Basics - Anfänger-Themen 5
W Map doppelte Values löschen Java Basics - Anfänger-Themen 3
S CSV auf doppelte Einträge überprüfen Java Basics - Anfänger-Themen 8
S Doppelte Liste Einfügen Java Basics - Anfänger-Themen 1
M Argument in Integer verwandeln und das Doppelte davon printen Java Basics - Anfänger-Themen 9
T Klassen Doppelte Elemente aus Container entfernen Java Basics - Anfänger-Themen 6
M Erste Schritte Doppelte Ausgabe? (JList) Java Basics - Anfänger-Themen 1
kilopack15 Array auf doppelte Elemente überprüfen Java Basics - Anfänger-Themen 16
S Input/Output Doppelte Input-Abfrage Java Basics - Anfänger-Themen 3
K Input/Output Doppelte Ausgabe Java Basics - Anfänger-Themen 5
S Erste Schritte Doppelte Ausführung? Java Basics - Anfänger-Themen 4
E Threads Doppelte Threads beenden Java Basics - Anfänger-Themen 4
J Variablen Doppelte Werte in Int Array Java Basics - Anfänger-Themen 10
D Java doppelte Zahl/Zeichen in einem String entfernen Java Basics - Anfänger-Themen 6
S ArrayList Gruppieren, "Doppelte Werte" Addieren Java Basics - Anfänger-Themen 5
O Doppelte For-Scheife Java Basics - Anfänger-Themen 6
E Array doppelte Einträge Java Basics - Anfänger-Themen 2
S Variablen Array in ArrayList auf doppelte Einträge überprüfen Java Basics - Anfänger-Themen 4
M Einfache und Doppelte Operatoren Java Basics - Anfänger-Themen 3
P Doppelte Datensätze aus CSV-Datei löschen Java Basics - Anfänger-Themen 17
B Doppelte Werte aus Array entfernen ohne Import - Algorithmus Java Basics - Anfänger-Themen 5
P Doppelte Einträge in eine List Java Basics - Anfänger-Themen 5
S Array befüllen & auf doppelte werte prüfen Java Basics - Anfänger-Themen 6
B Klassen Doppelte werte Filtern XML, Datenbank und DOM Java Basics - Anfänger-Themen 3
R Doppelte löschen Java Basics - Anfänger-Themen 6
C Doppelte Einträge aus String [] Array entfernen. Java Basics - Anfänger-Themen 5
K Doppelte namen bei random Java Basics - Anfänger-Themen 3
U Doppelte Interfcae Implementierung Java Basics - Anfänger-Themen 10
M doppelte Einträge Emailempfänger... Java Basics - Anfänger-Themen 35
G txt-File als DB>doppelte Einträge verhindern/Suche/... Java Basics - Anfänger-Themen 10
DerGroßeNargus Doppelte Liste initialisieren Java Basics - Anfänger-Themen 2
H Datentypen Doppelte Verkette Liste - Verständnissproblem Java Basics - Anfänger-Themen 5
T Doppelte Liste Java Basics - Anfänger-Themen 8
R Schleife Doppelte Daten löschen Java Basics - Anfänger-Themen 3
V Doppelte Zahl suchen Java Basics - Anfänger-Themen 14
L Hilfe, doppelte Zufallszahlen Java Basics - Anfänger-Themen 13
G List suchen und doppelte rausfiltern Java Basics - Anfänger-Themen 3
T Doppelte Anführungszeichen ersetzen?? Java Basics - Anfänger-Themen 4
Luk10 Doppelte for-schleife Java Basics - Anfänger-Themen 7
P Doppelte Einträge in mehreren Textfiles finden und ausgeben Java Basics - Anfänger-Themen 8
T Array: Doppelte Charakteren löschen - Ein Lösungsversuch Java Basics - Anfänger-Themen 37
P doppelte Werte im Array ausgeben. Java Basics - Anfänger-Themen 4
J doppelte Einträge in einem Array Java Basics - Anfänger-Themen 7
M Aufgabe: Array auf doppelte Zahl prüfen Java Basics - Anfänger-Themen 8
-horn- Doppelte Einträge entfernen, aus Array, List oder sonstwas Java Basics - Anfänger-Themen 9
G _NUR_ doppelte Einträge in einem Array behalten Java Basics - Anfänger-Themen 3
J Doppelte Integer aus einem Array entfernen - seltsames Prob. Java Basics - Anfänger-Themen 5
G doppelte Einträge im String Array löschen Java Basics - Anfänger-Themen 21
C Doppelte Punktnotation Java Basics - Anfänger-Themen 2
0 ArrayList - doppelte Einträge entfernen? Java Basics - Anfänger-Themen 9
S Methode, um doppelte Einträge in Array zu finden Java Basics - Anfänger-Themen 5
F doppelte Elemente in HashSet Java Basics - Anfänger-Themen 5
G java.util.LinkedList: Doppelte Elemente vermeiden Java Basics - Anfänger-Themen 5
G Wie doppelte Einträge in ComboBox vermeiden ? Java Basics - Anfänger-Themen 9
M Doppelte Einträge in einer datei löschen(nach timestamp)! Java Basics - Anfänger-Themen 4
D Doppelte Einträge einer Liste löschen Java Basics - Anfänger-Themen 6
B 2 ELists vergleichen und doppelte Einträge löschen Java Basics - Anfänger-Themen 11
S "doppelte" if-Anweisung Java Basics - Anfänger-Themen 10
G Doppelte (Paar) Werte in einem Vektor finden Java Basics - Anfänger-Themen 6
F Doppelte Datensätze zusammenziehen Java Basics - Anfänger-Themen 2
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
P Aus Text Datei nur Zahlen übernehmen 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
O Zahlen aus einem char-array per char + Zeichen addieren Java Basics - Anfänger-Themen 2
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
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
sserio Befreundete Zahlen Java Basics - Anfänger-Themen 7
AhmadSlack Verzweigungen zahlen multiplizieren Java Basics - Anfänger-Themen 4
padde479 Array Multiplikation der ersten n Zahlen Java Basics - Anfänger-Themen 7
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
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
W Wie ziehe ich von einer bestimmten Zahl, Zahlen ab, bis mein Ergebnis null beträgt? Java Basics - Anfänger-Themen 10

Ähnliche Java Themen

Neue Themen


Oben