Java Neuling: Programm geht nicht

Dieses Thema im Forum "Programmierung & Entwicklung" wurde erstellt von Bernie, 27. Oktober 2005 .

Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. 27. Oktober 2005
    Hab erst heute mit Java angefangen und dieses Programm funktioniert nicht. Kann es compilieren, aber wenn ich es starten will kommt diese Meldung:
    Code:
    Exception in thread "main" java.lang.StringIndexOutOfBoundsExeption: String index out of range: 45
    at java.lang.String.substring(String.java:1441)
    at test_1.main(test_1.java:8)
    Hier mal der Quelltext...

    Code:
    import java.io.*;
    
    class test_1 {
     public static void main(String[] arg) {
     int WieOftMussIchInDieUebungGehenUmBonuspunkteZuBekommen = 10;
     int i = WieOftMussIchInDieUebungGehenUmBonuspunkteZuBekommen;
     String x = "Blablablabla!";
     System.out.println(x.substring(i-10,i-9)
     .concat(x.substring(i+8,i+9)
     .concat(x.substring(i+19,i+20)
     .concat(x.substring(i+21,i+22)
     .concat(x.substring(i+34,i+35))))));
     }
    }
    
    
    Vielleicht kann mir ja jemand helfen. Hab wie gesacht noch gar nicht viel Ahnung davon, aber irgendwann muss ja jeder mal anfangen

    MfG
    Bernie
     
  2. 27. Oktober 2005
    schonmal probiert der variable nen kürzeren namen zu geben?
     
  3. 27. Oktober 2005
    StringIndexOutOfBoundsExeption kommt normalerweise wenn du auf irgendeine stelle im string zugreifen willst dies garnet gibt.
    (zb. wenn string 10 zeichen lang und du aufs 12 zeichen zugreifen willst)
     
  4. 27. Oktober 2005
    ich kann kein java, aber so verdammt lange variablennamen sind nie gut, wähl lieber prägnante und kurze namen, is auch nachher bei großen programmen wesentlich einfacher
     
  5. 28. Oktober 2005
    also schonmal hier ist ein fehler:

    public static void main(String[] arg s )

    ich habe mal spezifisch nach string fehlern gesucht, da ja in der fehlermeldung ein string fehler geschrieben steht.

    int WieOftMussIchInDieUebungGehenUmBonuspunkteZuBekommen = 10;
    int i = WieOftMussIchInDieUebungGehenUmBonuspunkteZuBekommen;

    machs doch einfacher:

    int i = 10; entspricht demselben

    dürfte man noch wissen mit welchem programm du programmierst?
     
  6. 28. Oktober 2005
    Also das Prog mit dem ich arbeite heißt "joe - java oriented editing" Wie gesacht, hab erst angefangen mit Programmieren für mein Studium...
    Allerdings wenn ich das "s" an das "arg" hinzufüge, kommt immer noch der gleiche Fehler. hab auch mal die Variable verkürzt, hat aber auch nichts gebracht??!!
     
  7. 28. Oktober 2005
    @swissmaster Nö das ist kein Fehler, das ist nen Variablenname den kann man auch da soweit ich weiß wählen wie man will.

    Der Fehler ist einfach wie kain schon sagte das du versuchst auf eine Stelle im String zuzugreifen die es nicht gibt
    Code:
    i+8
    -> = 18

    Code:
    Blablablabla!
    hat die Länge 13 (außer ich hab mich verzählt )

    D.h. du kannst maximal i+2 (i+3 wär zu groß da bei 0 angefangen wird) verwenden bei substring o.ä.
     
  8. 28. Oktober 2005
    Ah ok, jetzt hab ich das auch richtig verstanden 8)
    Wie gesacht, hab halt erst angefangen..

    Danke euch für die Hilfe!!

    MfG
    Bernie

    *closed*
     
  9. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.