Problem beim Filtern eines Multiplikationszeichen, aus nem String

  • Themenstarter Themenstarter Schmidti
  • Beginndatum Beginndatum
S

Schmidti

Hallo, ich hab mal ne banale Frage an Euch.

wenn ich über die Konsole ein Mal-Zeichen eingebe und ich schschließend mit einer If-Anweisung prüfe, ob ein Muliplikationszeichen im String enthalten ist,
wird die If-Anweisung trotzdem nicht ausgeführt.
Worann liegt das?

Hier meine Script:

....
chat[] Op = args[0].charAt(i);

if( Op == '*' )
{
<Anweisungen>
}
.....
 
Führst du das für mehrere Werte von i durch? (for-Schleife?)
Prüfe einfach so:
Java:
if(args[0].indexOf('*')>-1){...}

du hast die Variable Op als char[] definiert, bekommst aber von charAt(i) ein char zurück.
Schreibe also eher "char Op;".
 
So komme ich nicht weiter
kann mit diesem Ausdruck nichts anfangen. Bitte begründen "...>-1..."
 
Java:
chat[] Op = args[0].charAt(i);

Was ist bitte "chat[]"? Ich nehme an es sollte einfach nur "char" heißen...
 
So komme ich nicht weiter
kann mit diesem Ausdruck nichts anfangen. Bitte begründen "...>-1..."

Die Funktion indexOf(Char c) durchsucht den String bzw. das char-Array auf den diese Funktion angewendet wird, nach dem im Parameter übergebenen zeichen(in diesem Fall dein gewünschtes '*'). Wenn die Funktion das Zeichen entdeckt gibt es die Position als Integer zurück, Beispiel:
Java:
String x = "Hallo";
System.out.println(x.indexOf('l')); // Ausgabe: 2, da das dritte zeichen ein 'l' ist

Wenn die Funktion das Zeichen nicht findet, gibt es -1 zurück. Die Zeile "if(args[0].indexOf('*')>-1)" bedeutet: Wenn du in dem char-array args kein '*' gefunden hast, mach ...
 
Danke, hatt bestens funktioniert. Erklärung von indexOf war mir sehr schlüssig und hat mir sehr geholfen.
Ich finde, wenn man noch sehr neu in einer Sprache ist und mann deswegen ins Forum postet, ist es sehr mühsam eine Syntax , ohne Erklährung , zu verstehen, die man so platt vor die Füsse geschmissen bekommt.

Gruß, Schmidti ^^.
 
Zurück