Eigene Exception schreiben bei zu langem Array

lari12

Mitglied
Hallo :)
ich steh leider komplett aufm Schlauch, weil ich weder im Skript noch im Internet eine Lösung finde.
Den ersten Teil der Aufgabe war zu überprüfen ob in einem Object-Array zwei benachbarte Elemente gleich sind und true ausgeben wenn die Bedingung für mindestens ein i stimmt.
Dann musste man diese Klasse nach NeighborWithException kopieren und für diese eine Ausnahme ArrayTooShortException schreiben, die ausgelöst werden soll wenn das Array weniger als 2 Elemente hat.
Das ist der Code für die Klasse Neighbor:
Code:
public class Neighbor {

    public static boolean neighbor(Object [] arr) {
        for(int i = 0; i<arr.length; i++) {
            arr[i].equals(arr[i+1]);
               
        }
    return true;   
    }

    public static void main(String [] args) {
        if (neighbor(args))
            System.out.println("Neighbor(s) in arguments!");
        else System.out.println("No neighbors in arguments!");
    }
    }
Und das hab ich jetzt für NeighborWithException:
Code:
public class NeighborWithException {

    public class ArrayTooShortException extends Exception{
        public ArrayTooShortException() {
           
        }
        public ArrayTooShortException(String fehlermeldung) {
            super(fehlermeldung);
        }
   

}
    public static boolean neighbor(Object [] arr) throws ArraytooShortException  {
        for(int i = 0; i<arr.length; i++) {
            arr[i].equals(arr[i+1]);
        if (arr.length < 2) {
            throw new ArrayTooShortException();
        }
        else {
   
    return true;   
   
    }
        }

    }
}

Ich soll dazu auch noch die main so ändern, dass bei Auslösen der Exception "too few arguments to find neighbors!" ausgegeben wird.

Ich hab das Gefühl, dass das alles überhaupt nicht stimmt aber ich finde einfach nichts im Internet wo das für mich verständlich erklärt wird :(
 

Javinner

Top Contributor
In etwa so?
Java:
public class Lari12
{

    public static void main(String[] args)
    {
        int[] arrayZuKurz = {1};
        int[] arrayNachbar = {1, 2, 3, 3, 4, 5};
        int[] arrayNormal = {1, 2, 3, 4, 5, 6};
        A a = new A(arrayZuKurz);
        A c = new A(arrayNachbar);
        A b = new A(arrayNormal);
    }

}
/** Konsolenausgabe */
Jan 06, 2018 6:24:37 PM lari12.A <init>
INFORMATION: Hier könnte freiwählbare Information stehen
lari12.ArrayToShortException: Arraylänge ist zu kurz
    at lari12.A.<init>(A.java:15)
    at lari12.Lari12.main(Lari12.java:11)

Jan 06, 2018 6:24:37 PM lari12.A <init>
INFORMATION: Hier könnte freiwählbare Information stehen
lari12.NachbarException: Zwei benachbarte Elemente gleich
    at lari12.A.<init>(A.java:21)
    at lari12.Lari12.main(Lari12.java:12)
 

truesoul

Top Contributor
Hallo.

Du solltest vor der Schleife prüfen ob dein Array zu kurz ist.
Zudem würdest du eine Exception bekommen wenn du
Java:
for(int i = 0; i<arr.length; i++) {
            arr[i].equals(arr[i+1]);

so verwendest weil bei einen Array von der länge 2 kann i+1 eine 2 sein. Und wie wir wissen fängt man bei 0 an ;)
Also die Logik solltest du von der Schleife nochmal überdenken.

Grüße
 

lari12

Mitglied
Ok macht Sinn. Habe nur noch das Problem, dass bei throw new ArrayTooShortException() folgende Fehlermeldung auftaucht. Keine Ahnung was das heißen soll.
 

Anhänge

  • Bildschirmfoto 2018-01-06 um 18.51.22.png
    Bildschirmfoto 2018-01-06 um 18.51.22.png
    16,9 KB · Aufrufe: 37

truesoul

Top Contributor
Hallo.

Entweder du machst das static bei deiner Methode weg oder deklarierst bei der Class ArrayToShortException einn static.

Sprich
Code:
public static class .....
 

truesoul

Top Contributor
Verzichte auf static. Und erzeuge ein Objekt von Neighbor und dann kannst du die Methode auch ohne static verwenden und musst nicht überall static setzen.

Grüße
 
X

Xyz1

Gast
@lari12 nicht verzagen, einfach fragen!
Java:
class ArrayTooShortException extends Exception {
    public ArrayTooShortException() {
    }

    public ArrayTooShortException(String fehlermeldung) {
        super(fehlermeldung);
    }
}

class NeighborWithException {
    public static void main(String[] args) {
        for (int i = 0; i < 5; i++) {
            Object[] arrayy = new Object[i];
            try {
                System.out.println(neighbor(arrayy));
            } catch (ArrayTooShortException ats) {
                System.out.println(ats);
                System.out.println(ats.getMessage());
            }
        }
    }

    public static boolean neighbor(Object[] arr) throws ArrayTooShortException {
        if (arr.length < 2) {
            throw new ArrayTooShortException("too few arguments to find neighbors!");
        }
        for (int i = 0; i < arr.length - 1; i++) {
            if (Objects.equals(arr[i], arr[i + 1])) {

            }
            /*
            your stuff
            else {
                return true;
            }
             */
        }

        return true;
    }
}
 
X

Xyz1

Gast
Nö, einmal vollständig, einmal gekürzt, je nach deinen vorstellungen. (Ich habe da etwas Rücksicht auf Anfänger genommen)
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
S Eigene Exception Schreiben und Welche Auslösen wie ? Java Basics - Anfänger-Themen 7
T Eigene Exception - ohne werfen abfangen Java Basics - Anfänger-Themen 2
low_in_the_head Eigene Exception nutzen Java Basics - Anfänger-Themen 4
L Meine erste eigene Exception Klasse Java Basics - Anfänger-Themen 10
F Klassen Eigene Exception Bedingungen festlegen Java Basics - Anfänger-Themen 2
C eigene Exception Java Basics - Anfänger-Themen 4
S Eigene Exception Klasse - fehlender Konstruktor mit String Java Basics - Anfänger-Themen 3
K Klassen Eigene Exception verwenden Java Basics - Anfänger-Themen 9
T eigene Exception Klasse Java Basics - Anfänger-Themen 12
B eigene Exception.... Java Basics - Anfänger-Themen 5
F Eigene Exception StackTrace und Message ist leer warum??? Java Basics - Anfänger-Themen 3
R Eigene Exception deklarieren Java Basics - Anfänger-Themen 3
F eigene Exception aus try-catch werfen Java Basics - Anfänger-Themen 10
Amina556 Eigene Klasse definieren Java Basics - Anfänger-Themen 9
T Datentypen Eigene Datentypen Java Basics - Anfänger-Themen 15
C Archiv für eigene Klassen Java Basics - Anfänger-Themen 9
D Attribut Telefonnummer - eigene Klasse oder String Java Basics - Anfänger-Themen 13
B JUnit 4: Wie man die eigene Liste testen kann [TDD] Java Basics - Anfänger-Themen 46
C eigene Methoden erstellen (Instanzmethoden) Java Basics - Anfänger-Themen 7
S Eigene LinkedList Klasse Java Basics - Anfänger-Themen 4
I Eigene Java Tools Nutzung Java Basics - Anfänger-Themen 6
G eigene Bibliothek einbinden Java Basics - Anfänger-Themen 1
K Eigene Annotations, Pre-/Post-/Call-Method Java Basics - Anfänger-Themen 6
O Erste Schritte Eigene charAt(i) Methode schreiben Java Basics - Anfänger-Themen 10
D Methoden Eigene Methode um alle Ausgaben aufzurufen Java Basics - Anfänger-Themen 17
P Maven und eigene Jars Java Basics - Anfänger-Themen 4
J Algorithmus - Strings auf eigene Reihenfolge miteinander vergleichen Java Basics - Anfänger-Themen 4
R Interface Eigene Objekte in Listen sortieren mit Interface Comparable Java Basics - Anfänger-Themen 5
A Eigene Methoden entwicken Java Basics - Anfänger-Themen 3
H GSON-Bibliothek für eigene Programme benutzen Java Basics - Anfänger-Themen 2
H Klassen auf eigene Klasse zugreifen Java Basics - Anfänger-Themen 2
N Eclipse - eigene Icons unter ClassPath Resource Java Basics - Anfänger-Themen 0
N Eigene Stream Methoden implementieren Java Basics - Anfänger-Themen 3
R eigene Graphikbedienelemente Java Basics - Anfänger-Themen 8
V Generics / eigene Liste Java Basics - Anfänger-Themen 4
T Eigene Bedingung in IF-Bedingung Java Basics - Anfänger-Themen 22
P Java 8 & Eigene Applets Java Basics - Anfänger-Themen 3
E Best Practice Exaktes Rechnen mit (Pseudo-)Rationalen/Realen Zahlen. Operations Zuweisung für (eigene) Klassen Java Basics - Anfänger-Themen 3
G eigene Bibliothek in Java importieren Java Basics - Anfänger-Themen 5
D Klassen Eigene Klasse für ArrayList Java Basics - Anfänger-Themen 6
M Wann eigene implementierte HashCode Methode zwingend erforderlich? Java Basics - Anfänger-Themen 1
B Klassen Eigene "non static" Klasse in Main verwenden! Java Basics - Anfänger-Themen 12
P Vererbung Eigene HashMap Variante Java Basics - Anfänger-Themen 2
J Eigene Klasse für die Variablen? Java Basics - Anfänger-Themen 3
P Eigene Knöpfe mit eigenem Listener Java Basics - Anfänger-Themen 5
S Wann existiert eine Instanz (eigene Klasse) Java Basics - Anfänger-Themen 8
T Muss ein Parametertest immer eine eigene Testklasse sein? Java Basics - Anfänger-Themen 3
B Multithreading und eigene Queue entwickeln Java Basics - Anfänger-Themen 3
O GUI: Eigene Fenster "Form"? Java Basics - Anfänger-Themen 13
F Eigene LinkedList - toString Java Basics - Anfänger-Themen 10
O Denkanstöße für eigene Konfigurations-Datei Java Basics - Anfänger-Themen 12
SexyPenny90 Wieso ist diese eigene Equals-Methode schlecht? Java Basics - Anfänger-Themen 17
M externe JARs in die eigene JAR einbinden Java Basics - Anfänger-Themen 9
V Klassen import - einfaches Umleiten auf eigene Klassen? Java Basics - Anfänger-Themen 8
B eigene klasse in listen eintragen Java Basics - Anfänger-Themen 6
A Objekte in eigene Klasse auslagern Java Basics - Anfänger-Themen 2
S [JavaFX 2.1] - Eigene Sprachauswahl? Java Basics - Anfänger-Themen 4
J eigene packages bzw klassen verwenden Java Basics - Anfänger-Themen 25
E Eigene Stackklasse Java Basics - Anfänger-Themen 7
B Eigene Exceptions entwerfen Java Basics - Anfänger-Themen 3
P eigene kleine Datenverwaltung Java Basics - Anfänger-Themen 5
N Eigene Methoden-> Werte übergeben Java Basics - Anfänger-Themen 5
U Klassen Eigene Klassen importieren Java Basics - Anfänger-Themen 13
Kenan89 ActionListener in eigene Klasse Java Basics - Anfänger-Themen 8
E Object in eigene Klasse umwandeln? Java Basics - Anfänger-Themen 7
S Eigene Klassen addieren Java Basics - Anfänger-Themen 3
B OOP Eigene Objekte in Arrays zusammenfassen Java Basics - Anfänger-Themen 3
E Eigene class datum Java Basics - Anfänger-Themen 2
G Eigene MessageBox kreieren Java Basics - Anfänger-Themen 9
I Erste Schritte Eigene Fehlermeldungen bei Exceptions Java Basics - Anfänger-Themen 19
F Klassen Eigene Klasse definieren Java Basics - Anfänger-Themen 4
S Eigene KeyEvent-Mask erstellen Java Basics - Anfänger-Themen 4
X Eigene Libary Java Basics - Anfänger-Themen 2
Crashbreaker Eigene Java-Programm ohne hilfe des CMD starten Java Basics - Anfänger-Themen 11
A Klassen Eigene Datenklasse - Strings mit fixer Länge Java Basics - Anfänger-Themen 2
G Shape um eigene Achse drehen Java Basics - Anfänger-Themen 2
P Vererbung Basisklasse soll eigene Methode benutzen Java Basics - Anfänger-Themen 38
F Eigene Klasse für die Keys von HashMap Java Basics - Anfänger-Themen 5
J Eigene kleine Datenbank programmieren Java Basics - Anfänger-Themen 2
G Eigene Klasse als Array, zugriff? Java Basics - Anfänger-Themen 2
xehpuk Ordner "Eigene Bilder" ansteuern Java Basics - Anfänger-Themen 3
V Sonderzeichen als eigene "Operatoren" im JTextField Java Basics - Anfänger-Themen 4
S Eigene Stack Klasse Java Basics - Anfänger-Themen 26
D Eigene equals methode schreiben Java Basics - Anfänger-Themen 4
dataframe OOP Eigene typisierte Liste Java Basics - Anfänger-Themen 3
W GUI als eigene Klasse oder in die Startklasse? Java Basics - Anfänger-Themen 21
T Konstruktor für eigene Klasse erstellen Java Basics - Anfänger-Themen 6
H Buttonbefehle in eigene Klasse schreiben Java Basics - Anfänger-Themen 8
M Datentypen Eigene iterierbare Liste Java Basics - Anfänger-Themen 4
G Eigene Klasse für externe Befehle - Warten auf Prozesse Java Basics - Anfänger-Themen 6
S Klassendiagramm - nur eigene Klassen? Java Basics - Anfänger-Themen 3
nrg Eigene simple List-Klasse programmieren Java Basics - Anfänger-Themen 3
C Eigene Interpreter-Programmiersprache mit Java Java Basics - Anfänger-Themen 17
N Java Programm soll Datei in eigene jar schreiben Java Basics - Anfänger-Themen 13
M Eigene Pakete in Eclipse erstellen Java Basics - Anfänger-Themen 5
M Eigene Hash Funktion Java Basics - Anfänger-Themen 5
O Eigene Exceptions Java Basics - Anfänger-Themen 11
H eigene Schriftarten registrieren Java Basics - Anfänger-Themen 5
Kasoki Eigene Funktionen / Commands Java Basics - Anfänger-Themen 14
M Eigene LinkedList und Nodes Java Basics - Anfänger-Themen 20

Ähnliche Java Themen

Neue Themen


Oben