Was mache ich falsch?

Silvascus

Mitglied
Hallo!

Ich beschäftige mich zur Zeit mit Methoden und dazu habe ich folgendes gecodet:
Java:
package methoden;

public class SwappedCopy {
    public static int[] swappedCopy(int[] copy){
        for(int i=0, e=copy.length; i<copy.length;i++,e--){
            copy[i]=e;
        }
        return copy;
    }
    public static int[] copy(int[] array){
        int[] copy = new int[array.length];
        for(int i=0; i<array.length;){
            copy[i]= array[i];
        }
        return copy;
    }
    public static void main(String[] args) {
        System.out.println("hey");
        int[] array = new int[]{1,2,3,4,5};
        System.out.println("Die umgedrehten Werte: ");
        for(int i =0;i<swappedCopy(copy(array)).length;i++)
        System.out.print(swappedCopy(copy(array))[i]);
    }
}
Allerdings dachte ich es käme "Die umgedrehten Werte: 12345", wobei nur die Meldung "Die umgedrehten Werte: " in der Konsole auftaucht. Vielen Dank schonmal im vorraus!

Mfg Silvascus
 
Zuletzt bearbeitet von einem Moderator:

CursedCookie

Mitglied
Was du falsch machst:
1: eine Methode nennt man nicht wie die Klasse, es sei denn es ist der Konstruktor.
2: die main Methode befindet sich normalerweise in der Main klasse, wenn nicht steht sie wenigstens ganz oben. In deinem Fall würde ich die Klasse einfach in Main umbenennen und die Mainzer öde ganz hoch schieben.
3: Methoden in Methoden zu Schachteln ist irgendwie pfui... ^^
3: ich hab's nicht selber ausprobiert, aber ich würde du brauchst sie copy Methode nicht. Und kannst direkt swapped copy aufrufen.

Die würde ich dann umbauen wie folgt:
Java:
    public static int[] swappedCopy(int[] copy){
        for(int i =0; i<copy.length;i++){
       int[] retval;
retval[i] = copy[copy.length - 1+i];  

        }
        return retval ;
    }
(wobei ich glaub dass es bei Arrays size heißt, kann ich aber gerade nicht nachschauen, weil ich am Handy bin.)
Die Ausgabe erfolgt dann in einer einfachen Ausgabe mit ner forschleife oder du printer gleich das zuruckgegebene Array
 
Zuletzt bearbeitet von einem Moderator:

Joose

Top Contributor
Was du falsch machst:
2: die main Methode befindet sich normalerweise in der Main klasse, wenn nicht steht sie wenigstens ganz oben. In deinem Fall würde ich die Klasse einfach in Main umbenennen und die Mainzer öde ganz hoch schieben.
3: Methoden in Methoden zu Schachteln ist irgendwie pfui... ^^

Wobei es dem Compiler vollkommen egal ist in welcher Klasse deine main-Methode steht und auch an welcher Stelle. Daher bitte nicht sagen es ist falsch ;)
Natürlich sollte die main-Methode in einer logisch sinnvollen Klasse stehen (was bei so kleinen Testklassen egal ist).

Methodenaufrufe in Methodenaufrufe zu schreiben ganz normal. Natürlich muss man abwegen ob es nicht sinnvoller ist diesen oder jenen Wert vorher zwischen zu speichern.
Auch hier nicht falsch, aber je nach Situation und Code sollte man aufpassen.
 

InfectedBytes

Top Contributor
Erstmal was du bei jedem deiner Beiträge falsch machst: Ein Unsinniger Titel
Was glaubst du wie es hier aussehen würde, wenn jeder seine Beiträge nur "Frage" oder "Was mache ich falsch" nennt? Benutz bitte einen Titel der ganz grob angibt worum es in deinem Beitrag geht. In diesem Fall z.B. "Reihenfolge eines Arrays ändern" oder so.

Ansonsten wäre es sinnvoll das Ergebnis von swappedCopy(copy(array)) zwischenzuspeichern, denn momentan wird jedes mal eine neue kopie erzeugt, wenn du System.out.print(swappedCopy(copy(array))); aufrufst. Funktioniert zwar trotzdem, ist aber unglaublich unnötig.
 

CursedCookie

Mitglied
Wobei es dem Compiler vollkommen egal ist in welcher Klasse deine main-Methode steht und auch an welcher Stelle. Daher bitte nicht sagen es ist falsch ;)

Naja... Ich sag mal so: dem Compiler ist es auch egal wenn du deine Methode abxcFfgh() nennst. Trotzdem sollte das vermieden werden, weil es einfach absolut unleserlich ist. Nur weil es die Compiler egal ist heißt das in meinen Augen nicht, das es richtig ist das zu tun.

Methodenaufrufe in Methodenaufrufe zu schreiben ganz normal. Natürlich muss man abwegen ob es nicht sinnvoller ist diesen oder jenen Wert vorher zwischen zu speichern.
Auch hier nicht falsch, aber je nach Situation und Code sollte man aufpassen.
Es ist natürlich richtig, dass Methoden mit dem Rückgabewert anderer Methoden als Parameter aufgerufen werden.
Ich kenne aber Leute bei denen es so aussieht: a(b(c(d(e(f, g(h)))))...
Genauso kenne ich Leute die sich darüber freuen folgendes zu fabrizieren:
A.getB().getC().getD().getE()...
Die Folge davon ist dass sie es irgendwann nicht mehr verstehen und am Ende alles einzeln zwischenspeichern. Warum es sich also von Anfang an schwer machen, und am Ende lesbar machen.
Lesbarer Code ist einfacher zu verstehen und ich finde gerade Anfänger sollten es sich nicht unnötig schwer machen.
 

Joose

Top Contributor
dem Compiler ist es auch egal wenn du deine Methode abxcFfgh() nennst. Trotzdem sollte das vermieden werden, weil es einfach absolut unleserlich ist. Nur weil es die Compiler egal ist heißt das in meinen Augen nicht, das es richtig ist das zu tun

Habe auch nicht behauptet das die Namensgebung egal ist (auch wenn es den Compiler nicht stört).
Es mir nur darum das es nicht wichtig ist in welcher Klasse die Main Methode liegt und ob diese nun an 1.Stelle, 2.Stelle oder ganz wo anders liegt.
-> Diesbezüglich kann man also nichts falsch machen, hier wollte ich nur deine Aussage widerlegen das dies falsch wäre. ;)

Ich kenne aber Leute bei denen es so aussieht: a(b(c(d(e(f, g(h)))))
.........
A.getB().getC().getD().getE()...
Die Folge davon ist dass sie es irgendwann nicht mehr verstehen und am Ende alles einzeln zwischenspeichern

Habe auch gesagt es kommt auf die Situation und den Code drum herum an.
 

Silvascus

Mitglied
Danke an euch alle!

Ich habe den Code ein wenig umgeändert, sodass er kompakter ist und mir ist aufgefallen, dass ich die einfach Anweisung "i++" in der for-Schleife vergessen habe. ^^'
Ich habe keine Ahnung, warum mir das nicht als Fehler unterringelt wurde.

Mfg Silvascus
 

Cromewell

Top Contributor
Du machst da, glaube ich, einen kleinen Fehler. Du setzt die erste swap immer gleich a.length, aber wenn das array 0,1,2,3,4 wäre, dann wäre aNew[0] ja 5, obwohl es 4 sein müsste. Oder vertue ich mich da ?
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
J Erste Schritte Was mache ich in meinem Code falsch. Java Basics - Anfänger-Themen 3
J Was mache ich falsch in meiner Java Anwendung? Java Basics - Anfänger-Themen 11
Z Klassen Error: ';' expected - was mache ich falsch? Java Basics - Anfänger-Themen 4
D Probleme beim Kompelieren mache ich etwas falsch ? Java Basics - Anfänger-Themen 3
A Arrays addieren- Was mache ich falsch?? Java Basics - Anfänger-Themen 2
L Variable an andere Klasse weitergeben - Was mache ich falsch? Java Basics - Anfänger-Themen 2
J Klassen Fehler Datei kopieren - was mache ich falsch Java Basics - Anfänger-Themen 19
A Variablen Was mache Ich falsch? Java Basics - Anfänger-Themen 5
A was mache ich falsch? Java Basics - Anfänger-Themen 3
D Muss ein Applet schreiben was Mittelwerte berechnet nur was mache ich falsch? Java Basics - Anfänger-Themen 11
T Was mache ich hier falsch? Java Basics - Anfänger-Themen 3
D Boolean funktioniert nicht, was mache ich falsch? Java Basics - Anfänger-Themen 6
M Counter erstellen - Was mache ich falsch? Java Basics - Anfänger-Themen 17
S Fehler in Javaprogramm, was mache ich falsch? Java Basics - Anfänger-Themen 9
T Button Dis/Enablen - Was mache ich falsch? Java Basics - Anfänger-Themen 3
S Was mache ich falsch? Java Basics - Anfänger-Themen 4
D Was mache ich falsch beim ScrollPane ? Java Basics - Anfänger-Themen 2
T Was mache ich falsch? File klasse. Java Basics - Anfänger-Themen 3
G Fehler: Illegal Expression. Was mache ich falsch? Java Basics - Anfänger-Themen 4
W Was mache ich Falsch?? Java Basics - Anfänger-Themen 4
U Wie mache ich die Variable xyz eindeutig/unique? Java Basics - Anfänger-Themen 20
berserkerdq2 sqllite in Java, wenn ich mache select count(*) ..., erhalte ich dann nur die gezählte Anzahl oder werden auch die Tabellen ausgegeben? Java Basics - Anfänger-Themen 2
berserkerdq2 Spiel hängt sich immer in der 4 Runde auf, obwohl ich jede Runde das gleiche mache Java Basics - Anfänger-Themen 1
O Ich ahbe einen char und diesen soll ich bei .matches prüfen, also ob der char in meiner Zeichenkette vorhanden ist, wie mache ich das? Java Basics - Anfänger-Themen 9
J Kreis soll die gleiche Fläche wie das Rechteck haben wie mache ich das? Java Basics - Anfänger-Themen 3
D Guten Tag mache gerade eine Umschulung zum FiSi war leider jetzt 2 Wochen Krank und wir hatten Prozendurale Programmierung. Java Basics - Anfänger-Themen 3
D Wenn ich repaint(); mache, flackert es so stark, das man fast nichts erkennen kann. Java Basics - Anfänger-Themen 11
G mache aus Test nach sortieren estt oder java aajv Java Basics - Anfänger-Themen 5
K Erste Schritte Wie mache ich weiter? (Spiel-Menü) Java Basics - Anfänger-Themen 9
T Wie mache ich einen Timer der alle 2 sekunden aufgerufen wird? Java Basics - Anfänger-Themen 5
propra Wie mache ich einem JPanel mein bereits instanziertes Model bekannt Java Basics - Anfänger-Themen 9
B Klassen Wie mache ich das "the java way"? Java Basics - Anfänger-Themen 4
J Wie mache ich ein JFrame modal Java Basics - Anfänger-Themen 30
D Wie mache ich das? Java Basics - Anfänger-Themen 2
F Ich raffs nicht! - Wie mache ich ein einfaches Java-window? Java Basics - Anfänger-Themen 54
H Wie mache ich aus pfad\\unterpfad pfad\unterpfad? Java Basics - Anfänger-Themen 3
S Wie mache ich mir eine universelle Timermethode Java Basics - Anfänger-Themen 20
D Brauche mehr Flexibilität bei der Realisierung und weiss nicht wie ich das mache. Java Basics - Anfänger-Themen 10
S Deserialisieren: alle Objekte ausgeben - wie mache ich das? Java Basics - Anfänger-Themen 2
M Wie mache ich einen Eventdispatcher? Java Basics - Anfänger-Themen 9
Q TextArea - wie mache ich einen Absatz? Java Basics - Anfänger-Themen 9
D Pascal'sche Drreieck. was mache ich in der ausgabe flasch? Java Basics - Anfänger-Themen 5
N Womit mache ich ein menue Java Basics - Anfänger-Themen 2
I Review von euch erwünscht, double Rechnung falsch Java Basics - Anfänger-Themen 34
L Datum - Monat und Jahr werden falsch angezeigt Java Basics - Anfänger-Themen 4
C negamax-Algorithmus für Tic-Tac-Toe spielt manchmal falsch Java Basics - Anfänger-Themen 10
W LocalDate toString und nach Split falsch "erkannt"? Java Basics - Anfänger-Themen 8
M Dialogbox sofort neustarten, falls aktuelle Eingabe falsch Java Basics - Anfänger-Themen 11
K Warum gibt mir z. B. 40^128 eine Zahl? Ich dachte mit xor kann man nur booleanwerte erhalten, also prüfen ob etwas whar oder falsch ist? Java Basics - Anfänger-Themen 1
O Warum ist meine Antwort falsch? Java Basics - Anfänger-Themen 3
O Warum ist die Auswahl falsch? Java Basics - Anfänger-Themen 4
M Was habe ich hier falsch, dass wenn ich z.B.: 11 eingebe mir false zurück gegeben wird? Java Basics - Anfänger-Themen 2
Kapfski Was habe ich falsch gemacht? Hilfe! Java Basics - Anfänger-Themen 17
R FXMLLoader Pfad falsch`? Java Basics - Anfänger-Themen 4
S Berechnung der sleep time ist falsch Java Basics - Anfänger-Themen 46
D Zahlen werden falsch gekürzt :? Java Basics - Anfänger-Themen 27
J String wird in GUI falsch ausgegeben Java Basics - Anfänger-Themen 10
A Figur erkennen, aber Abweichung falsch Java Basics - Anfänger-Themen 2
N Javac -version der Befehl ist entweder falsch geschrieben oder...... Java Basics - Anfänger-Themen 8
A Ich habe das Gefühl etwas grundlegendes falsch zu machen Java Basics - Anfänger-Themen 6
L Ist an diesem Befehl irgendwas falsch? Java Basics - Anfänger-Themen 2
M Was ist daran falsch Java Basics - Anfänger-Themen 2
S Code richtig / besser machbar? (Nicht sicher, ob Code selbst falsch ist) Java Basics - Anfänger-Themen 4
L AES - Irgendwas falsch? Java Basics - Anfänger-Themen 0
H Koordinaten gehen falsch ! Java Basics - Anfänger-Themen 13
I Programm von mir - keine Ahnung mehr ob richtig falsch:-( Java Basics - Anfänger-Themen 6
B Wieso wird hier so viel als falsch angezeigt? Java Basics - Anfänger-Themen 2
JavaNewbie2.0 Was ist falsch? Java Basics - Anfänger-Themen 2
JavaNewbie2.0 Was ist falsch? Java Basics - Anfänger-Themen 23
D Prozente werden falsch berechnet Java Basics - Anfänger-Themen 8
F for Schleife zählt falsch Java Basics - Anfänger-Themen 6
S Variable wird falsch gesetzt Java Basics - Anfänger-Themen 5
J ArrayList wird in JTable falsch angezeigt Java Basics - Anfänger-Themen 0
D Aktuelles Datum wird falsch ausgegeben Java Basics - Anfänger-Themen 2
B Drucken: Default Paper von Drucker? Mein Drucker druckt falsch Java Basics - Anfänger-Themen 3
D Matritzenmultiplikation berechnet Werte falsch Java Basics - Anfänger-Themen 9
J ireport Designer / CSV / Sonderzeichen was läuft falsch Java Basics - Anfänger-Themen 7
W Was ist bei folgendem Code falsch? Java Basics - Anfänger-Themen 5
C Array wird falsch befüllt? Java Basics - Anfänger-Themen 7
L Methoden Histogramm, Methode berechnet falsch. Java Basics - Anfänger-Themen 7
C Variablen if Anweisung falsch gesetzt Java Basics - Anfänger-Themen 4
J Java rechnet -0.94 + 0.01 falsch Java Basics - Anfänger-Themen 14
J Dekrement läuft offenbar falsch Java Basics - Anfänger-Themen 6
X Warum ist das falsch -.- Java Basics - Anfänger-Themen 4
J Datum und Uhrzeit in Datenbank falsch hinterlegt Java Basics - Anfänger-Themen 13
J Java: Was habe ich falsch gemacht? Java Basics - Anfänger-Themen 4
T Input/Output GregorianCalender gibt falsch aus? Java Basics - Anfänger-Themen 4
F Byte Ausgabe plötzlich falsch Java Basics - Anfänger-Themen 0
O Zeitmessung falsch Java Basics - Anfänger-Themen 7
C Ausgabe vom Array falsch ? Java Basics - Anfänger-Themen 3
S Mengenklammer falsch, Warum? Java Basics - Anfänger-Themen 6
J BlueJ öffnet package falsch Java Basics - Anfänger-Themen 2
C Extrem einfache Aufgabe falsch beantwortet :$ Java Basics - Anfänger-Themen 6
H Punkte werden falsch verbunden Java Basics - Anfänger-Themen 6
F String wird richtig in konsole geschrieben aber falsch an Methode übergeben Java Basics - Anfänger-Themen 8
K Runnable oder Keyadapter läuft falsch Java Basics - Anfänger-Themen 4
U Attributsnamen korrekt oder falsch? Java Basics - Anfänger-Themen 4
B Bewegung falsch Java Basics - Anfänger-Themen 33
M .jar wird falsch generiert? Java Basics - Anfänger-Themen 9
A Methoden repaint() zeichnet JPanel falsch Java Basics - Anfänger-Themen 3

Ähnliche Java Themen

Neue Themen


Oben