Methoden Übergebe Variabel funktioniert nicht

Blue_J

Mitglied
Hallo,

ich bin ganze neu hier, aber ich habe ein Problem und habe jetzt schon lange gesucht, finde das Problem nicht.
Ich hoffe ihr könnt mir helfen...
Mein Problem ist folgendes ich habe zwei Klassen : Test und Caesar (ich arbeite in BlueJ)

Der relevante Code von Test lautet:
[code = Java]
public static void caesarOhneS2(String[] args){
// erstellen von caesar Object
// verschluesselterText wird eingespeichert
entschluesselterText = caesar.entschluesseleTextOhneS(verschluesselterText,1);
// ausgeben des entschluesselten Textes
}
[/code]

Der Code von Caesar lautet:
[code = Java]
public String entschluesseleTextOhneS(String text,int zahl)
{
haeufigkeitImText(text); // speichert die haufigkeiten in ein array
ermitteltVerschiebung(WertGeben(zahl)); // ermittelt die verschiebung // erhält den Wert von Wert Geben
return entschluesseleText(text);
}
[/code]

Wenn ich den Text ausgebe, wird anscheinend keine Zahl übergeben, da der verschluesselte Text einfach ausgegeben wird.
Wenn ich den Code in Caesar von WertGeben(zahl) zu WertGeben(1) änder tritt dieses Problem nicht auf.
Was mache ich falsch?

Ich hoffe ich konnte mein Problem verständlich erklären.
Ich will meine obere Methode nich erweitern und brauche deswegen die Übergabe der Variabel.
 

temi

Top Contributor
Keine Ahnung von BlueJ. Das funktioniert ja leicht anders, als beim "richtigen" Java ;)

Kannst du denn beim Aufruf der Methode sowohl einen String, als auch eine Zahl als Parameter mit angeben?

Bzw. es steht zwar im Kommentar "erstellen von ceasar Objekt", aber wo wird denn da ein Objekt erstellt?
 

Jw456

Top Contributor
Java:
public static void caesarOhneS2(String[] args){
// erstellen von caesar Object
// verschluesselterText wird eingespeichert
entschluesselterText = caesar.entschluesseleTextOhneS(verschluesselterText,1);
// ausgeben des entschluesselten Textes
}


//Der Code von Caesar lautet:

public String entschluesseleTextOhneS(String text,int zahl)
{
haeufigkeitImText(text); // speichert die haufigkeiten in ein array
ermitteltVerschiebung(WertGeben(zahl)); // ermittelt die verschiebung // erhält den Wert von Wert Geben
return entschluesseleText(text);
}

benutze den Code Block
 

Jw456

Top Contributor
Wenn ich den Text ausgebe, wird anscheinend keine Zahl übergeben, da der verschluesselte Text einfach ausgegeben wird.
Wenn ich den Code in Caesar von WertGeben(zahl) zu WertGeben(1) änder tritt dieses Problem nicht auf.
Was mache ich falsch?
du kannst immer nur einen Variable (DatenTyp) zurückgeben.
du könntest dafür ein String Array benutzen und die Zahl als String auf Index 1 mitgeben.


Woran erkennst du das? Die Methode entschluesseleText() wird doch gar nicht gezeigt. Vielleicht verändert sie ja den Text?
das war falsch weil mann es schlecht lesen konnte
 
Zuletzt bearbeitet:

Jw456

Top Contributor
In Rätseln du sprichst, junger Padawan. Er gibt doch nur eine Variable zurück, nämlich einen String.
Ich habe es so verstanden das er nicht nur den string zurück haben will sondern auch den int. Was ja so einfach nicht geht. Wie wir alle wissen.

Eine Methode kann nur ein Objekt zurückgeben aber mehrere übergeben bekommen.

Für mich läuft seine Frage auf das hinaus.
 

temi

Top Contributor
Ich habe es so verstanden das er nicht nur den string zurück haben will sondern auch den int. Was ja so einfach nicht geht. Wie wir alle wissen.

Eine Methode kann nur ein Objekt zurückgeben aber mehrere übergeben bekommen.

Für mich läuft seine Frage auf das hinaus.
Ich denke, es geht darum ermitteltVerschiebung(WertGeben(zahl));

Wenn sie/er anstatt von "zahl" eine 1 schreibt, dann funktioniert es anscheinend.

@Blue_J Kannst du in dieser Methode einfach den Inhalt von "zahl" mal auf der Konsole ausgeben?
 

Blue_J

Mitglied
Danke für eure Hilfe.
Nochmal zu meinem Problem. Hab ich anscheinend nicht gut genug erklärt.
In Caesar in haeufigkeitImText() werden die Häufigsten Buchstaben im übergebenen Text in ein Array gespeichert.
In ermitteltVerschiebung() berecht die Methode die Differenz zwischen e und dem häufigsten Buchstaben im Text.
Dazu ruft ich die Methode WertGeben() auf, die den häufigsten Buchstaben, wenn ich 1 übergebe zurückgibt.

Java:
public int WertGeben(int wert)
    {
        if(wert == 1)
            return hoestwerte[0][1];
        else if(wert == 2)
            return hoestwerte[1][1];
        else if(wert == 3)
            return hoestwerte[2][1];
        else
            return -1;
    }

//Tut mir leid, hab jetzt erst herausgefunden, wie man Java-Code richtig einfügt.

Wenn ich oben in caesar der Methode einfach eins übergebe, dann wird der Text entschlüsselt.
Wenn ich aber die Zahl (1) durch die Klasse Test übergebe und dann damit die Methode Wert Gebe aufrufe, wird der Text nicht entschlüsselt.

Kannst du in dieser Methode einfach den Inhalt von "zahl" mal auf der Konsole ausgeben?
Wenn ich zahl durch die Klasse Test übergebe gibt die Konsole 0 aus.
 

KonradN

Super-Moderator
Mitarbeiter
Wenn Du so eine Methode hast und da nicht das gewünschte Ergebnis raus kommt, dann solltest Du einmal schauen:
a) Was ist der Parameter?
b) Was ist der Inhalt von hoestwerte? Wurde das Array richtig gefüllt?

Was mir z.B. auffällt ist die Namensgebung. WertGeben ist ein Methodenname, der einfach nichts aussagt. Die Methode gibt ein int zurück und damit einen Wert. Was genau macht die Methode? Was ist die Bedeutung dahinter? Parameter ist wert. Es wird ein Wert übergeben. Aber das besagt nichts aus. Wert ist hier ja in der Bedeutung Zahl. (Im Gegensatz zu einem Auto - da wäre Wert ja, wieviel Geld das Auto noch wert wäre ... da hätte es einen Sinn). Natürlich muss da eine Zahl übergeben werden, denn das ist ja ein int. Und auch der Kommentar ist genau so verwirrend: "erhält den Wert von Wert Geben"

Dadurch wird es extrem schwer, den Sinn zu verstehen und es macht es somit deutlich leichter, Fehler einzubauen, die dann nicht trivial zu entdecken sind.

Aber wie gesagt: wenn da ein falscher Wert zurück kommt, dann wird es entweder daran liegen, dass Du das falsche Feld ausliest oder eben dass die Felder falsch gefüllt wurden.
 
Y

yfons123

Gast
seit jahrezenten ist system.out.println das eifnachste debug tool das es gefühlt gibt... nimms her

wenn du blödsinn als ergebnis bekommst dann schau dir an was in den werten drin steht
 

temi

Top Contributor
Wie oben schon geschrieben, habe ich keine Ahnung von BlueJ.

Kannst du den Code der gesamten Klasse zeigen und auch die Testklasse, die das aufruft?

Ich meine gehört zu haben, dass in BlueJ Methoden direkt gestartet werden können, also etwas anders, als in "reinem" Java (wo das Prgramm über die main() Methode gestartet wird), darum ist mir nicht ganz klar, wie deine Codeschnipsel von oben aufgerufen werden.
 

Blue_J

Mitglied
Wenn Du so eine Methode hast und da nicht das gewünschte Ergebnis raus kommt, dann solltest Du einmal schauen:
a) Was ist der Parameter?
b) Was ist der Inhalt von hoestwerte? Wurde das Array richtig gefüllt?
Als erstes habe ich den Namen jetzt geändert von WertGeben() in häufigsterBuchstabeAlsZahlGeben()
(hatte den Namen deswegen gekürzt weil mir dieser zu lang erscheint, aber ja man muss die Methoden aussagekräftig benennen )

b) Ja wie oben erwähnt wird das Array richtig gefüllt nur bei dem Aufruf scheitert es.

seit jahrezenten ist system.out.println das eifnachste debug tool das es gefühlt gibt... nimms her

wenn du blödsinn als ergebnis bekommst dann schau dir an was in den werten drin steht
Was meinst du damit ? Ich habe mir die zahl ausgeben lassen und da steht 0 drin, weiß nur nicht warum ...
 

Blue_J

Mitglied
Hallo Leute,
das Problem hat sich von selbst geklärt, auf unverständliche Weise wird die Methode nun richtig ausgeführt. (Ich habe nichts geändert außer den Namen)
Ich weiß nicht warum, vielleicht hatte sich BlueJ aufgehängt.:rolleyes:

Danke, dass ihr mir versucht habt zu helfen.
Tut mir echt leid, dass ich mich so unverständlich ausgedrückt habe.
Wenn ich wieder eine Frage haben sollte, versucht ich mich genauer auszudrücken.
 
Y

yfons123

Gast
warum nimmst du eig bluej ansich überhaupt her?

lernst du erst?
schule zwang?

bluej ist ganz flauschig für den anfang aber es muss nicht sein
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
B Variablen Int Variabel in JTextField ändern Java Basics - Anfänger-Themen 2
N Variabel in eine class mit "extends JLabel" übertragen Java Basics - Anfänger-Themen 2
T Ich habe eine Variabel die nicht Methoden übergreifend ist. Kann mir jemand Helfen :) Java Basics - Anfänger-Themen 5
S Objekt-Attribute "variabel" gestalten Java Basics - Anfänger-Themen 10
C Methoden Methode Variabel aufrufen Java Basics - Anfänger-Themen 2
O array mit Methode variabel befüllen Java Basics - Anfänger-Themen 5
Tacofan Variabel in einer anderen Methode Java Basics - Anfänger-Themen 2
S Binärer Suchbaum - Size als Variabel in innerer Klasse speichern Java Basics - Anfänger-Themen 2
M Name der Komponete/Variabel/Methode Java Basics - Anfänger-Themen 5
M Enum-Variabel-Abfrage funktioniert nicht? Java Basics - Anfänger-Themen 2
S Suche richtigen Typ für Variabel mit den Werten (neu, gebraucht, beschädigt) Java Basics - Anfänger-Themen 7
V kann ich eine TextProperty an eine booloan variabel binden ? Java Basics - Anfänger-Themen 2
G Variabel: Nach String benannte Methode ausführen Java Basics - Anfänger-Themen 13
M Konstruktor Problem - Variabel Erhöhen Java Basics - Anfänger-Themen 5
N Methoden Decimalformat variabel einstellen Java Basics - Anfänger-Themen 18
G Array nimmt Variabel nicht an Java Basics - Anfänger-Themen 14
K variabel.equal("text") verneinen Java Basics - Anfänger-Themen 2
V GridLayout - Spaltenbreite variabel ? Java Basics - Anfänger-Themen 5
M Objektnamen Variabel vergeben Java Basics - Anfänger-Themen 7
T Auf Variabel in einer anderen Methode zugreifen Java Basics - Anfänger-Themen 4
T File Variabel Java Basics - Anfänger-Themen 8
G Was zum Teufel ist denn so ein Ausdruck"variabel : vari Java Basics - Anfänger-Themen 8
A Variabel int a; int b; ? Java Basics - Anfänger-Themen 8
B Casting variabel gestalten. Java Basics - Anfänger-Themen 9
T Variabel großes String-Array in ein String speichern Java Basics - Anfänger-Themen 3
J Datenüberwachung funktioniert nicht Java Basics - Anfänger-Themen 9
mo13 JTextField funktioniert nicht Java Basics - Anfänger-Themen 4
J .jar datei öffnen funktioniert nicht Java Basics - Anfänger-Themen 17
G Mit jPackage erstellte EXE funktioniert nicht Java Basics - Anfänger-Themen 2
G Robot funktioniert nicht bei SelectionListener Java Basics - Anfänger-Themen 6
R RegEx funktioniert nicht Java Basics - Anfänger-Themen 14
S 2 Reihen ratio-btn, eine Reihe funktioniert andere nicht Java Basics - Anfänger-Themen 4
monsterherz Punkt Notation funktioniert nicht Java Basics - Anfänger-Themen 4
N Programm Funktioniert mit .txt Datei aber nicht mit .rtf Datei Java Basics - Anfänger-Themen 2
D Quellcode für cmd funktioniert nicht Java Basics - Anfänger-Themen 9
ms_cikar Bin to Float convertieren funktioniert nicht Java Basics - Anfänger-Themen 24
B Schrankensystem mit Farberkennung für Flashgame funktioniert nicht wie geplant Java Basics - Anfänger-Themen 4
I Greenscreen, funktioniert nicht zu 100%... nicht alle Pixel werden geändert Java Basics - Anfänger-Themen 1
JordenJost char variable funktioniert irgendwie nicht a+b ergibt nicht à Java Basics - Anfänger-Themen 4
M Operatoren Strings mit Vergleichsoperatoren, funktioniert das? Java Basics - Anfänger-Themen 9
Garrit1994 Continue funktioniert nicht wie geplant Java Basics - Anfänger-Themen 4
P exportiertes Programm funktioniert nur teilweise Java Basics - Anfänger-Themen 7
Agent4nobody Programmstart durch aufruf des interpreters funktioniert nicht Java Basics - Anfänger-Themen 14
Fugover Programm funktioniert nicht Java Basics - Anfänger-Themen 11
X Datentypen String.equals funktioniert nicht Java Basics - Anfänger-Themen 5
berserkerdq2 wie funktioniert contenthandler, was muss ich bei der Methode startElement und endElement tun? Java Basics - Anfänger-Themen 11
Alen123 Warum funktioniert mein Code nicht? Java Basics - Anfänger-Themen 64
sserio Array funktioniert nicht Java Basics - Anfänger-Themen 2
sserio Wieso funktioniert mein Programm nicht Java Basics - Anfänger-Themen 2
A String split funktioniert nicht, wenn mehr als 1 Ziffer vor dem Zeichen steht nach dem er trennen soll? Java Basics - Anfänger-Themen 4
sserio Größtes Palindrom-Produkt Programm funktioniert nur halb Java Basics - Anfänger-Themen 23
sserio Rekursion größten Primfaktor finden funktioniert nicht Java Basics - Anfänger-Themen 8
sserio Wieso funktioniert mein TableView nicht /JavaFX. Java Basics - Anfänger-Themen 4
Avalon Warum funktioniert eine Bedingung und eine andere nicht? Java Basics - Anfänger-Themen 2
J Datentypen String in File konvertieren funktioniert nicht Java Basics - Anfänger-Themen 4
U Wie genau funktioniert der ! Operator Java Basics - Anfänger-Themen 3
stormyark 4 Bit in einer for-schleife funktioniert nicht Java Basics - Anfänger-Themen 3
J Nach dem Exportieren funktioniert mein Programm nicht mehr Java Basics - Anfänger-Themen 8
M Java printf(Locale.... funktioniert nicht Java Basics - Anfänger-Themen 3
N Wieso funktioniert die Deklaration nicht Java Basics - Anfänger-Themen 3
C Long value an Stringbuilder übergeben, equals Methode funktioniert nicht Java Basics - Anfänger-Themen 2
districon Backtracking funktioniert nicht ganz Java Basics - Anfänger-Themen 3
H Array rückwärts auslesen funktioniert nicht Java Basics - Anfänger-Themen 3
S Math.random funktioniert nicht Java Basics - Anfänger-Themen 5
S Schleife funktioniert nicht Java Basics - Anfänger-Themen 2
B Ausgabe in TextArea funktioniert nicht Java Basics - Anfänger-Themen 2
Henri Webservice Delete und Update Methode funktioniert nicht Java Basics - Anfänger-Themen 27
J ActionListener von JCheckBox im Knoten von JTree funktioniert nicht Java Basics - Anfänger-Themen 2
C System.out.println - Parameterübergabe funktioniert nicht Java Basics - Anfänger-Themen 2
JD_1998 Hilfsmethode if return funktioniert nicht Java Basics - Anfänger-Themen 2
C JButton Text 2 Mal ändern funktioniert nicht Java Basics - Anfänger-Themen 8
T % funktioniert nicht Java Basics - Anfänger-Themen 2
D e(fx)clipse installieren funktioniert nicht Java Basics - Anfänger-Themen 3
D GPIO Nutzung mit Pi4J Library auf Raspberry funktioniert nicht Java Basics - Anfänger-Themen 3
F Java GUI-PaintComponent funktioniert nicht Java Basics - Anfänger-Themen 1
J equals funktioniert nicht - Warum Java Basics - Anfänger-Themen 13
L hilfe run button funktioniert nicht Java Basics - Anfänger-Themen 13
I Array funktioniert nicht. Java Basics - Anfänger-Themen 2
T if else Befehl funktioniert nicht richtig Java Basics - Anfänger-Themen 27
V_Fynn03 Erste Schritte BubbleSort Quelltext funktioniert noch nicht Java Basics - Anfänger-Themen 1
V_Fynn03 Erste Schritte JButton funktioniert nicht trotz richtiger Methode. Java Basics - Anfänger-Themen 17
R Erste Schritte Eclipse - Java - System.out.println(); funktioniert nicht Java Basics - Anfänger-Themen 2
G Programm mit Schleife funktioniert nicht Java Basics - Anfänger-Themen 5
T Redirect funktioniert nicht Java Basics - Anfänger-Themen 3
R Mein Plugin funktioniert nicht? Java Basics - Anfänger-Themen 10
J Zufallszahl funktioniert nicht Java Basics - Anfänger-Themen 27
D Klassen add Methode funktioniert nicht. Java Basics - Anfänger-Themen 31
J ImagaIO funktioniert nicht unter Ubuntu Java Basics - Anfänger-Themen 23
F Vergleiche mit charAt funktioniert bei Strings nicht, was tun? Java Basics - Anfänger-Themen 5
N Wochentagberechner Ausgabe funktioniert nicht Java Basics - Anfänger-Themen 7
G Mein Java Projekt funktioniert nicht Java Basics - Anfänger-Themen 5
J Einlesen von Datei funktioniert nicht Java Basics - Anfänger-Themen 8
W Wieso funktioniert mein Switch Case nicht ?! Java Basics - Anfänger-Themen 9
P Zeichenkette Zeichen ausschlißen funktioniert nicht richtig Java Basics - Anfänger-Themen 9
F Primzahlsuche Schleife funktioniert nicht, HILFE! Java Basics - Anfänger-Themen 8
M Methoden Arrays.deepequals() funktioniert nicht Java Basics - Anfänger-Themen 2
B Statische Methode return funktioniert nicht. Java Basics - Anfänger-Themen 19
S JDK 9 für Windows 32 bit installiert, aber es funktioniert nix Java Basics - Anfänger-Themen 6
F Input/Output die eine txt-Datei funktioniert die andere nicht Java Basics - Anfänger-Themen 8
CptK Interface Bild über Methode ändern funktioniert nicht Java Basics - Anfänger-Themen 4

Ähnliche Java Themen

Neue Themen


Oben