indexOf() - was bedeutet -1 ?

Status
Nicht offen für weitere Antworten.
G

Guest

Gast
Hallo!!!

da bei mir die java API nicht funktioniert und ich in internet noch nich wirklich was passendes gefunden hab seit ihr jetzt meien letzte hoffnung!!

ich verstehe einfach nicht was mit dem befehl indexOf() gemeint ist wenn dahinter sowas steht wie ==-1 oder <0

kann mir jemand weiter helfen?
 
G

Guest

Gast
also gibt es nur
==-1 und <0 (keine Übereinstimmung)
und
==1 und >0 (Übereinstimmung)
?

gibt es auch ==0 oder =<0 oder =>0? und wenn ja was bedeutet das?
 

L-ectron-X

Gesperrter Benutzer
Indizes beginnen mit der Zählung bei 0 (Null). Das kennst du ja auch bspw. von Arrays.
Es ist Sache des Programmierers die Abfragebedingungen zusammenzusetzen.
Eine Prüfung auf <=0 hätte nicht sehr viel Sinn. Die Abfrage der Bedingung würde immer true zurückgeben.
Eine Prüfung auf >=0 würde das genaue Gegenteil von < 0 bedeuten. Sie würde immer zu true ausgewertet werden, wenn eine Übereinstimmung gefunden wurde.
 

Dreezard

Bekanntes Mitglied
also. indexOf() gibt einen int wert zurück. -1 wenn keine übereinstimmung gefunden wird, ansonsten einen numerischen wert der größer oder gleich 0 ist und dir sagt, wo in einem string ein bestimmter buchstabe steckt.

Das andere sind operatoren die etwas vergleichen:

== - eine gleichheitsabfrage
<= - kleiner oder gleich
>= - größer oder gleich
< - kleiner
> - größer

"Test".indexOf('s') == -1
das ist also ein vergleich der true (wahr) oder false (falsch) zurückgibt.

Any Questions?

EDIT: btw ist indexOf() kein Befehl sondern eine Methode eines Objektes.
 

Dreezard

Bekanntes Mitglied
Eine Prüfung auf <=0 hätte nicht sehr viel Sinn. Die Abfrage der Bedingung würde immer true zurückgeben.
Eine Prüfung auf >=0 würde das genaue Gegenteil von < 0 bedeuten. Sie würde immer zu true ausgewertet werden, wenn eine Übereinstimmung gefunden wurde.
Das ist so nicht ganz richtig.

<= 0 würde true liefern wenn z.B. ein Buchstabe nicht oder am anfang eines Strings steht.
 
G

Guest

Gast
sorry dass ich mich so blöd anstelle!!!

also wenn indexOf()==-1 dann wurde ja keine Ubereinstimmung festgestellt und bei ==1 aber doch

so wenn aber indexOf()==0 da steht dann is mir nich ganz klar was daruntern zu verstehen ist es kann ja nur die beiden Möglichkeiten von ober geben oder nicht?
 

Dreezard

Bekanntes Mitglied
moment. wenn man indexOf() == -1 schrebt dann heißt das nicht, dass keine übereinstimmung gefunden wurde, sondern man ÜBERPRÜFT ob eine gefunden wurde.

indexOf() == 0 würde überprüfen ob ein Buchstabe direkt am anfang eines Stings steht. (...1 ob er an der zweiten stelle steht).

indexOf() >= 0 prüft ob etwas gefunden wurde
 
G

Guest

Gast
also noch mal langsam

bei dem programm das ich hier habe soll ein Wort eingegeben werden und dann überprüft werden ob in ihm die Zeichen ABCDEFGHIJKLMNOPQRSTUVWXYZÄÖÜ vorkommen alle andern sollen nicht zulässig sein. auf dem bildschirm soll dann je nach dem "Eingabe korekt" oder "Eingabe nicht korekt" ausgegeben werden.

so sieht der teil des programmes aus der mir schwirigkeiten macht:

Code:
for(i=0; i < input.length(); i++){
     if ("ABCDEFGHIJKLMNOPQRSTUVWXYZÄÖÜ".indexOf(input.charAt(i)) ==-1)
     break;
}

gebe ich z.B. ein Wort ein das nur Großbuchstaben hat wird "Eingabe korekt" ausgegeben und wenn ich keine Großbuchstaben oder irgendwas anderes eingebe "Eingabe nicht korekt"

schreibe ich aber ==1 dann ist egal was ich eingebe es kommt immer "Eingabe korekt" das gleiche auch mit ==0

und jetzt?

Edit: Code tags added by Stefan1200.
Bitte das nächste mal selbst machen...
 

Dreezard

Bekanntes Mitglied
öhm. also erstmal kann ich aus diesem bischen code nicht wirklich viel rauslesen. Der vergleich ist ja ganz nett, aber da gibt es effektiveres. Aber egal. Zeig mal n bischen mehr code. Und bitte die Codetags nicht vergessen
 
G

Guest

Gast
Code:
public class Test {

  public static void main(final String[] args) {

   System.out.println("Gib etwas ein.");
   String input = StdIn.readln();

   if(eingabetest(input)) {
     System.out.println("Eingabe korrekt");
   } else {
    System.out.println("ungueltige Eingabe");
   }
  }
  
  public static boolean eingabetest(String input){

  int i;
   for(i=0; i < input.length(); i++){
     if ("ABCDEFGHIJKLMNOPQRSTUVWXYZÄÖÜ".indexOf(input.charAt(i)) ==0)
     break;
   }

   return i==input.length();
  }
}


Edit von L-ectron-X: Code-Tags eingefügt.
 

Dreezard

Bekanntes Mitglied
@ Roar: nich ganz. Gr0ßbuchstaben gehen ja auch nich. Aber frag mich jetzt nich wie genau. Ich kenn mich mit regular expressions garnich aus ^^
 
G

Guest

Gast
bzw:

if ("ABCDEFGHIJKLMNOPQRSTUVWXYZÄÖÜ".indexOf(input.charAt(i)) ==-1)

oder

if ("ABCDEFGHIJKLMNOPQRSTUVWXYZÄÖÜ".indexOf(input.charAt(i)) ==1)
 

Dreezard

Bekanntes Mitglied
warum machst du da einen vergleich ob i so größ ist wie de länge des inputs? Das macht ja überhaupt keinen Sinn. Außerdem: CODETAGS BITTE.

Also so vieleicht:
Code:
public class Test {

    public static void main(final String[] args) {

        System.out.println("Gib etwas ein.");
        String input = StdIn.readln();

        if(eingabetest(input))
            System.out.println("Eingabe korrekt");
        else
            System.out.println("ungueltige Eingabe");
    }

    public static boolean eingabetest(String input){

    for(int i=0; i < input.length(); i++){   // laufe alle zeichen der eingabe durch
        if ("ABCDEFGHIJKLMNOPQRSTUVWXYZÄÖÜ".indexOf(input.charAt(i)) ==-1)   // wenn das zeichen nicht in dem String vorkommt
            return false; // gebe falsch zurück
    }

    return true; // wenn alles durch ist gebe wahr zurück
    }

}
 
R

Roar

Gast
Dreezard hat gesagt.:
@ Roar: nich ganz. Gr0ßbuchstaben gehen ja auch nich. Aber frag mich jetzt nich wie genau. Ich kenn mich mit regular expressions garnich aus ^^
äh?
is nur quatsch weil das auch zahlen zulässt...
 
G

Guest

Gast
ja dein progamm macht mehr sinn meins war halt nur die vorgabe vom lehrer

aber so ganz klar is mir das leider immer noch nich (ich hoffe die erleuchtung kommt heute noch schreib morgen darüber eine arbeit :cry: )


Dreezard hat gesagt.:
moment. wenn man indexOf() == -1 schrebt dann heißt das nicht, dass keine übereinstimmung gefunden wurde, sondern man ÜBERPRÜFT ob eine gefunden wurde.

indexOf() == 0 würde überprüfen ob ein Buchstabe direkt am anfang eines Stings steht. (...1 ob er an der zweiten stelle steht).

indexOf() >= 0 prüft ob etwas gefunden wurde


danach wurde es also heißen dass ==0 überprüft ob A am anfang meines eingegenen wortes steht?
 

Bleiglanz

Gesperrter Benutzer
Code:
String input = "BINICHDRIN"; 

java.util.List<Character> allowed = new java.util.ArrayList<Character>();
for( Character c : "ABCDEFGHIJKLMNOPQRSTUVWXYZÄÖÜ".toCharArray()){
    allowed.add(c);
}
java.util.List<Character> given = new java.util.ArrayList<Character>();
for( Character c : input.toCharArray()){
    given.add(c);
}
System.out.println(allowed.containsAll(given));

//oder

boolean alledrin = true;
for(char c : input.toCharArray()){
    alledrin = alledrin && ("ABCDEFGHIJKLMNOPQRSTUVWXYZÄÖÜ".indexOf(c) >= 0);
}
System.out.println(alledrin);
 

Dreezard

Bekanntes Mitglied
Nein. Nicht sorum wie du den vergleich machst.

Also angenommen wir haben einen char 'B' und einen String "ABC.
"ABC.indexOf('B') würde dir 1 rausschmeißen, weil B an zweiter stelle des Strings steht.

Wenn du überprüfen möchtest wo ein A in deinem wort steht müsstest du also schreiben:

System.out.println("A steht an der " + input.indexOf('A') + ". Stelle");
 
G

Guest

Gast
okay ich glaub das hab ich erstmal verstanden!!!!!!!

ich glaub ich hab das die ganze zeit mit dem == falsch verstanden weil das ja was vergleicht (aber bei java weis man ja nie obs da nich auch ein paar ausnahmen gibt)

also ich hab das "eigendliche" problem jetzt so verstanden:

==-1 wird geliefert wenn das eingegebene Wort aus mindestens einem anderen Zeichen besteht als vorher festgelegt

>=0 wird geleifert wenn das eingegebene Wort nur aus den vorher festgelegten Buchstaben besteht

richtig????
 
G

Guest

Gast
hab eben mal alles ausprobiert und es funktioniert wirklich!!!!!!!

also ein ganz großes dankeschön an alle!!!!!!!!!! :D
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
Temsky34 Array IndexOf nicht verfügbar Java Basics - Anfänger-Themen 18
M Erklärung: Int IndexOf (String s) Java Basics - Anfänger-Themen 3
P Schleife für insert() und delete() im StringBuilder in Verbindung mit indexOf() Java Basics - Anfänger-Themen 7
S fraglicher indexOf Wert Java Basics - Anfänger-Themen 2
X Erste Schritte Frage zu indexOf und startsWith Java Basics - Anfänger-Themen 6
P eigenes Equal mit IndexOf() Java Basics - Anfänger-Themen 5
B Arrays indexOf Java Basics - Anfänger-Themen 5
R indexOf wirft NullPointer Exception Java Basics - Anfänger-Themen 2
H Methoden indexOf Java Basics - Anfänger-Themen 11
A contains bzw. indexOf liefert keine Treffer? Java Basics - Anfänger-Themen 3
L String.indexOf -> Backslash Java Basics - Anfänger-Themen 3
B String Methoden ! substring,indexOf,length... :( Java Basics - Anfänger-Themen 5
S LinkedList indexOf() - geht des irgendwie schneller? Java Basics - Anfänger-Themen 23
B ArrayList<Double>.indexOf(Double)? Java Basics - Anfänger-Themen 2
K indexOf selbst rekursiv definieren Java Basics - Anfänger-Themen 4
StrikeTom ArrayList + IndexOf Java Basics - Anfänger-Themen 3
M IndexOf LinkedList Java Basics - Anfänger-Themen 2
S Nachbau der indexOf Methode Java Basics - Anfänger-Themen 28
G IndexOf Methode Java Basics - Anfänger-Themen 3
F indexOf weiter lesen Java Basics - Anfänger-Themen 14
G indexOf() Probleme Java Basics - Anfänger-Themen 8
B Char kommt 2 mal im Wort vor (indexOf) Java Basics - Anfänger-Themen 5
S indexOf(",") ? zeichenabfrage eines Strings Java Basics - Anfänger-Themen 7
J Indexof Java Basics - Anfänger-Themen 7
K Probleme mit indexOf() Java Basics - Anfänger-Themen 3
S Frage zu String.indexOf(String) Java Basics - Anfänger-Themen 22
onlyxlia Was bedeutet das @Override? Java Basics - Anfänger-Themen 1
W Streams in Java und was bedeutet meine Konsolen-Ausgabe? Java Basics - Anfänger-Themen 4
N Was bedeutet dieser Fehler Java Basics - Anfänger-Themen 2
S Was bedeutet ungleich (in diesem Zusammenhang)? Java Basics - Anfänger-Themen 2
S Was bedeutet das Zeichen := Java Basics - Anfänger-Themen 9
H Was bedeutet das: [I@7d4991ad? Java Basics - Anfänger-Themen 20
P Was bedeutet dieser Fehler? Java Basics - Anfänger-Themen 31
MiMa Was bedeutet unchecked or unsafe operations? Java Basics - Anfänger-Themen 6
ZH1896ZH OOP Verstehe nicht was der Hinweis bedeutet, bitte um Hilfe! Java Basics - Anfänger-Themen 2
O Was bedeutet das hier 999_983? Java Basics - Anfänger-Themen 2
D Was bedeutet diese Schreibweise? Java Basics - Anfänger-Themen 9
W Was bedeutet im Struktogramm „zufall“ aufrufen (keine Parameterübergabe)? Java Basics - Anfänger-Themen 8
S Erste Schritte Was bedeutet dieser Code? Java Basics - Anfänger-Themen 2
D Erste Schritte Was bedeutet dieser Code? Java Basics - Anfänger-Themen 23
R Was bedeutet -1 Java Basics - Anfänger-Themen 2
V OOP Was bedeutet das "aBruch" Java Basics - Anfänger-Themen 6
U Was bedeutet $@ in der Linux Kommandozeile Java Basics - Anfänger-Themen 3
dave253 Was bedeutet (String args[])? Java Basics - Anfänger-Themen 6
D was bedeutet this. bei Konstruktoren? Java Basics - Anfänger-Themen 4
N Was bedeutet "Implementierung vor dem Client verbergen" bei Design Patterns? Java Basics - Anfänger-Themen 2
G Methoden Was bedeutet return in einer Methode Java Basics - Anfänger-Themen 5
V Was bedeutet das? Java Basics - Anfänger-Themen 4
G zeile: Was bedeutet das in der Methode? Java Basics - Anfänger-Themen 4
Y Was bedeutet "this" ohne dem Punkt und dem Atrributnamen danach? Java Basics - Anfänger-Themen 2
M was bedeutet setEnabled Java Basics - Anfänger-Themen 12
F Was bedeutet '@'? Java Basics - Anfänger-Themen 3
F Frage von einem Neuling: Was bedeutet Scanner scanner ? Java Basics - Anfänger-Themen 5
K Schlüsselworte Was bedeutet oder was ist die SIGNATUR?? Java Basics - Anfänger-Themen 4
O Was bedeutet public class value? Java Basics - Anfänger-Themen 3
A Was bedeutet der Operator *= ? Java Basics - Anfänger-Themen 2
N Was bedeutet << Java Basics - Anfänger-Themen 5
G Was bedeutet diese Zeile? Java Basics - Anfänger-Themen 2
J Was bedeutet This. ? Java Basics - Anfänger-Themen 4
S Was bedeutet dieser ausdruck? Java Basics - Anfänger-Themen 9
D Was genau bedeutet und bewirkt dieses @override? Java Basics - Anfänger-Themen 15
J Was bedeutet dieses a [i].length? Java Basics - Anfänger-Themen 3
D Was bedeutet < > Java Basics - Anfänger-Themen 4
D Was bedeutet das ?: Java Basics - Anfänger-Themen 9
B Was bedeutet static<T>?? Java Basics - Anfänger-Themen 6
0 Was bedeutet dieser Generic-code? Java Basics - Anfänger-Themen 3
php1 Was bedeutet der Modifier static ? Java Basics - Anfänger-Themen 3
K Was bedeutet das eigentlich.... Java Basics - Anfänger-Themen 18
G Was bedeutet? Java Basics - Anfänger-Themen 7
G Was bedeutet charAt()? Java Basics - Anfänger-Themen 5
J Was bedeutet der Doppelpunkt ":" ? Java Basics - Anfänger-Themen 3
G was bedeutet //TODO Java Basics - Anfänger-Themen 4
A Was bedeutet folgende Programmcodezeile genau Java Basics - Anfänger-Themen 6
B was bedeutet "this" Java Basics - Anfänger-Themen 8
L Was bedeutet das Wort "this" ? Java Basics - Anfänger-Themen 2
K was bedeutet '?' Java Basics - Anfänger-Themen 3
R Was bedeutet diese Zeile. Java Basics - Anfänger-Themen 8
S was bedeutet Typisiert? Java Basics - Anfänger-Themen 3
D Was bedeutet : ? Java Basics - Anfänger-Themen 4
M public static void main(String... args)<- Was bedeutet das? Java Basics - Anfänger-Themen 5
H Was bedeutet "class Liste<E>" Java Basics - Anfänger-Themen 2
J was bedeutet null Java Basics - Anfänger-Themen 7
padde479 Compiler-Frage: Was bedeutet deprecated? Java Basics - Anfänger-Themen 4
P Was genau bedeutet Feld Java Basics - Anfänger-Themen 3
G Was bedeutet diese Fehlermeldung von Tomcat Java Basics - Anfänger-Themen 29
P Was genau bedeutet "public static void main(String[] ar Java Basics - Anfänger-Themen 10
G setName bei JTextfield. Was bedeutet das? Java Basics - Anfänger-Themen 7
B Was bedeutet synchronized? Java Basics - Anfänger-Themen 8
D was bedeutet " Seiteneffekt " ? Java Basics - Anfänger-Themen 4

Ähnliche Java Themen

Neue Themen


Oben