![]() |
| | Themen-Optionen | Thema durchsuchen |
| | Nach oben #1 |
| Gast
Beiträge: n/a
|
hei, also ich bin neu in der javaprogrammierung habe bisher nur mit anderen sprachen gearbeitet. ich hab hier ein kleines programm und verstehe nicht warum es mit der if-anweisung probleme gibt, vielleicht weiss einer von euch rat? if (beenden = false) { catch( Exception e ) { System.out.println( "Unzulässige Eingabe"); } } die fehlermeldung ist: java.lang.Error: Unresolved compilation problem: Syntax error on keyword "if"; "finally" expected bin gespannt auf eure ideen - danke |
|
| | Nach oben #3 | |
| Benutzer Registriert seit: 15.02.2005
Beiträge: 33
| Zitat:
__________________ No Sig | |
| | |
| | Nach oben #4 |
| Benjamin Klaile Registriert seit: 02.12.2004 Ort: Remagen
Beiträge: 4.481
|
Hallo, also Du vergleichst nicht, sondern Du weist zu "=" ist eine Zuweisung, z.B. Code: int zahl = 12; Code: if( zahl == 12 )
{
// machwas
}
Ein Beispiel: Code: int zahl = 12;
if( zahl == 12 )
{
zahl = 2;
}
Code: zahl == 12 Du könntest in Deinem Beispiel also auch folgendes machen Code: boolean weiter = true;
if( weiter )
{
// weitermachen
}
Und da kommen wir zu einem Punkt, den ich da eventuell reininterpretiere ... wer weiß .. Ich denke, dass Du eine Schleife braucht Schau Dir mal die "while-Schleife" an Grüße Ben. |
| | |
| | Nach oben #5 |
| Gast
Beiträge: n/a
|
hi, erstmal danke für deine antwort. also am "=" liegs nicht, dass hatte ich auch nur testhalber eingestezuz eigentlich stand da "!=". das mit dem catch stammt von etwas früher im code. vielleicht sollte ich doch alles hier rein schreiben also: public class euro1 { final static double DMNACHEURO = 1/1.95583; public static void main(String[] args) { boolean beenden = false; do { String benutzereingabe; double dm_betrag; double euro_betrag; // Verwendung des Ein-/Ausgabesystems von Java um Text von der // Tastatur einzulesen BufferedReader in = new BufferedReader( new InputStreamReader (System.in ) ); try { System.out.println( "Bitte geben Sie einen DM-Betrag ein" ); // Einlesen der Benutzereingabe von der Tastaur in die // String-Variable benutzereingabe //benutzereingabe = "3"; benutzereingabe = in.readLine(); if( benutzereingabe.equals( "b" ) ) { beenden = true; } // Umwandlung des Textes in benutzereingabe in eine // Gleitkommazahl, die in der Variablen dm_betrag landet dm_betrag = Double.valueOf( benutzereingabe ).doubleValue(); euro_betrag = dm_betrag * DMNACHEURO; System.out.println( dm_betrag + " in DM sind " + euro_betrag + " in Euro. "); } if (beenden == false) { catch( Exception e ) { System.out.println( "Unzulässige Eingabe"); } } } while(beenden != true); } } |
|
| | Nach oben #6 |
| Gast
Beiträge: n/a
|
der vergleichende operator in java lautet "==" wenn du "=" nimmst weist du der variablen "beenden" den wert "false" zu. der ausdruck insgesamt ergibt dann immer "true" (eine zuweisung von typgleichen operatoren ist afaik immer wahr) der fehler scheint mir hier aber auch eher das catch zu sein. was bezweckst du denn damit? normal fämngt man exceptions wie folgt: Code: try {
// kritischer code
} catch (Exception ex) {
// fehlerbehandlung
}
Code: if ( beenden == false ) {
throw new Exception("Unzulässige Eingabe");
}
in obigem beispiel müsstest du die exception dann dennoch irgendwo fangen. einzige ausnahme ist imho dir RuntimeException - hier sind sich aber eigentlich alle einig das diese nicht benutzt werden sollte da sie der rt umgebung gehört. sinnvoll ist es manchmal eine eigene Klasse CriticalException (oä.) von der RuntimeException abzuleiten um schwerwiegende, unbehebbare Fehler auszuweisen. edit: ok, hab jetzt erst deinen code gesehen. dein fehler ist wohl das du den try .. catch block nicht auseinander reissen darfst so wie du es gemacht hast. soll heissen der catch block darf nicht innerhalb einer if anweisung stehen .. deine klammersetzung verwirrt mich - da wird man ja ganz kirre ^^ |
|
| | Nach oben #9 |
| Gast
Beiträge: n/a
|
zum beispiel so Code: String[] sa = new String[] {
"empfaengerName", empfaengerName,
"empfaengerEmail", empfaengerEmail,
"senderEmail", senderEmail,
"kurznachricht", kurznachricht,
"leistungsName", lei.getFullName(),
"leistungsID", tk.getValue("id")
};
try {
tk.sendPatternEmail("empfehlenLeistung", empfaengerEmail, sa);
ok = true;
} catch (Exception ex) {
errorMsg = "Es ist ein Fehler beim versenden der eMail aufgetreten.";
}
|
|
| | Nach oben #11 | |
| Gast
Beiträge: n/a
| Zitat:
aber schreib den try..catch block halt um den kritischen code (also die zeile welche im schlimmsten fall eine exception auslöst). | |
|
| | Nach oben #13 |
| Gast
Beiträge: n/a
|
Je nachdem wie er seinen Code jetzt umgebaut hat (weiss ja nicht welche Änderungen er alles vorgenommen hat) , könnte es sein das er "b" eingibt , danach parst er den String in Double und das führt zu Exception, vorrausgesetzt er fängts nicht vorher mit ner Bedingung ab. Das gilt dann aber nicht nur für b , sondern für alle Buchstaben im Generellen. |
|
| | Nach oben #14 |
| Benutzer Registriert seit: 05.07.2004
Beiträge: 95
|
kurz am ende weiß nicht ob es hilft. Du überprüfst am Anfang ja if(beenden != false){ } else { } Auf Deutsch ob die boolean beenden einen Wahrheitswert besitzt. Um Dies zu Überprüfen kannst du dich auch kurz fassen und einfech if(beenden){ } else { } schreiben. Halte code immer so kurz wie nötig. Eine vernünfigte Methode reicht nie über eine Bildschirmlänge hinaus.
__________________ |
| | |
![]() |
| Lesezeichen |
| Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
| Themen-Optionen | Thema durchsuchen |
| |
Ähnliche Themen | ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| [svn] Fehlermeldung: "PROPFIND request failed ... " | Corvin | Tools, Server, Betriebssysteme | 1 | 20.08.2007 16:27 |
| MySQL Fehlermeldung: Your query requires a full tablescan ... | Chr!s | Datenbanken | 12 | 31.07.2006 21:45 |
| Fehlermeldung bei include einer bestimmten Datei | Bookworm | PHP-Programmierung | 12 | 10.04.2006 18:50 |
| Fehlermeldung bei ausführen | janis | Allgemeine Java-Programmierung | 35 | 25.06.2005 16:00 |
| JBuiderX + Folgende Fehlermeldung | Borusse-KLE | Tools, Server, Betriebssysteme | 0 | 13.01.2005 21:51 |