hata mesaji

2 views
Skip to first unread message

Murat KOZAN

unread,
Apr 6, 2011, 5:02:34 PM4/6/11
to javacoder_ss11
S.a. arkadaslar

java nin 2. rundesinin sonuna yaklasik 20 saat den fazla ugrastiktan
sonra sonuna geldim ama ben bi hata mesajiyla karsilasiyom, lütfen
yardimci olun

gösterdigi 92. satir da =

char tek= dr.charAt(w);// einzel karakter von schlussel gelesen als
char in "tek" gespeichert

yaziyor


C:\Users\murat\Desktop\eprog>javac Deneme.java

C:\Users\murat\Desktop\eprog>java Deneme <AsciiShop-A02.i4
Exception in thread "main" java.lang.StringIndexOutOfBoundsException:
String ind
ex out of range: 10
at java.lang.String.charAt(Unknown Source)
at Deneme.main(Deneme.java:92)

C:\Users\murat\Desktop\eprog>



Oktay KIZILIRMAK

unread,
Apr 8, 2011, 5:29:42 AM4/8/11
to java kursu 2011
/*Wenn die decode eingegeben und alle Schluessel Ziffern und
                    alle Schluessel nicht zweimal oder mehrmal vorkommt sind ,
                    geht das Programm in If .*/
                   
                    if( !istKeyDoppelt && istKeyEineZahl && istDecodeEingegeben ){
                       
                        /*Hier wird count Typ als Integer definiert und ist 0.*/
                       
                        int count = 0 ;
                       
                        /*Ueberpruefung von Schluessel, ob in einem Schluessel der Laenge von 0 bis n ist*/
                       
                        for(int i = 0; i < key.length(); i++){
                           
                            for(int j = 0; j < key.length(); j++){
                               
                                if( key.charAt(i) == String.valueOf(j).charAt(0)) {
                                   
                                    /*Hier wird count um 1 erhoeht*/
                                   
                                    count++;
                                   
                                    /*Wenn count gleich SchluesselLaenge ist ,
                                    geht das Programm in If.*/
                                   
                                    if(count == key.length()){
                                       
                                        /*Hier wird istKeyObisN(istKeyObisN geaendert als true) wahr*/
                                       
                                        istKeyObisN = true ;
                                    }
                                }
                            }   
                        }
                    }

> Date: Wed, 6 Apr 2011 14:02:34 -0700
> Subject: hata mesaji
> From: kozan...@hotmail.com
> To: javacod...@googlegroups.com

Oktay KIZILIRMAK

unread,
Apr 8, 2011, 5:43:48 AM4/8/11
to java kursu 2011
/*Einlesung befehl decode.*/
           
            while(sc.hasNext()){
               
                /*eingelesene String wert in befehl gespeichert.*/
               
                befehl = sc.next();
               
                /*Ueberpruefung von befehl decode mit Methode equals().
                Wenn decode decode ist , geht das Programm in If .*/
               
                if(befehl.equals("decode")){
                   
                    /*Wenn decode richtig ist , wird istDecodeEingegeben
                    (geaendert als true) wahr.*/
                   
                    istDecodeEingegeben = true;
                   
                    /*Hier wird eingelesene Schluessel in key gespeichert.*/
                   
                    key = sc.next();
                   
                    /*wenn decode eingegeben ist ,geht das Programm in If.*/
                   
                    if(istDecodeEingegeben){
                       
                        /*Ueberpruefung von Schluessel ob die alle
                        eingegebene String werte Ziffern sind.Mit "\\d+"
                        diese zeichen werden alle Schluessel ueberprueft.*/
                       
                        if(key.matches("\\d+")){
                           
                            /*Wenn die alle Schluessel ziffern sind , ist istKeyZahl
                            (istKeyZahl geaendert als true ) wahr.*/
                           
                            istKeyEineZahl = true ;   
                        }
                       
                    }
                   
                    /*wenn decode eingegeben und die Schluessel ziffer ist , geht das Programm in If.*/
                   
                    if(istDecodeEingegeben && istKeyEineZahl){
                       
                        /*Hier werden alle Ziffern von Schluessel ueberprueft ,
                        ob die Ziffern von Key nur einmal vorkommt  */

                       
                        for(int i = 0; i < key.length(); i++){
                           
                            for(int j = i+1; j < key.length(); j++){
                               
                                /*Wenn die Ziffern von Key zweimal oder mehrmal vorkommt ,
                                geht das Programm in If.*/
                               
                                if(key.charAt(i) == key.charAt(j)){
                                   
                                    /*Hier wird istKeyDoppelt(istKeyDoppelt geaendert als true) wahr .*/
                                   
                                    istKeyDoppelt = true;
                                   
                                    /*hier wird das Programm While Schleife verlaesst.*/
                                   
                                    break;

                                }
                            }
                        }
                    }
                   
                    /*Wenn die decode eingegeben und alle Schluessel Ziffern und
                    alle Schluessel nicht zweimal oder mehrmal vorkommt sind ,
                    geht das Programm in If .*/
                   
                    if( !istKeyDoppelt && istKeyEineZahl && istDecodeEingegeben ){
                       
                        /*Hier wird count Typ als Integer definiert und ist 0.*/
                       
                        int count = 0 ;
                       
                        /*Ueberpruefung von Schluessel, ob in einem Schluessel der Laenge von 0 bis n ist*/
                       
                        for(int i = 0; i < key.length(); i++){
                           
                            for(int j = 0; j < key.length(); j++){
                               
                                if( key.charAt(i) == String.valueOf(j).charAt(0)) {
                                   
                                    /*Hier wird count um 1 erhoeht*/
                                   
                                    count++;
                                   
                                    /*Wenn count gleich SchluesselLaenge ist ,
                                    geht das Programm in If.*/
                                   
                                    if(count == key.length()){
                                       
                                        /*Hier wird istKeyObisN(istKeyObisN geaendert als true) wahr*/
                                       
                                        istKeyObisN = true ;
                                    }
                                }
                            }   
                        }
                    }
                   
                    /*Wenn keine Fehlern beim Ueberpruefen des Schluessels(Eigegebene Key Eine Zahl ist  und
                    Key von 0 bis n ist und Ziffern von Key nur einmal vorkommt) gibt und
                    Decode eingegeben ist, geht das Programm in If .*/
                   
                    if ( !istKeyDoppelt && istKeyEineZahl && istKeyObisN && istDecodeEingegeben){
                       
                        /*Ueberpruefung des Bildes ob das bildlaenge (ohne ZeilenUmbrueche)
                        ein ganzzahliges Vielfaches der Schluessellaenge ist */
                       
                        if ( bild.length() % key.length() == 0 ){
                           
                            int count = 0 ;
                           
                            /*hier ist die Laenge des Bildes vielfach wahr.*/
                           
                            istBildVielfaches = true ;
                           
                            /*Diese Schleife ist Aeussere Schleife ,hier wird die
                            Bildzeichenkette blockweise durchlaufen . */
                           
                            for(int i = 0; i < bild.length(); i = i+ key.length() ){
                               
                                /*Hier wird die BildLaenge (Ohne ZeilenUmbrueche)
                                blockwiese(bis laenge der Schluessellaenge) unterteilt
                                und wird in block eingefuegt */
                               
                                block = bild.substring(i, i + key.length() );
                               
                                /*Diese Schleife ist inner Schleife , hier wird die
                                Bildzeichenkette zeichenweise durchlaufen */
                               
                                for(int j = 0; j < block.length(); j++) {
                                   
                                    /*Hier wird die bloecke von Bild entschluesselt und
                                    entschluesselte Bloecke wird in decodierte_Text eingefuegt */
                                   
                                    decodierte_Text += block.charAt(Character.getNumericValue(key.charAt(j)));

                                   
                                    /*Hier wird count um 1 erhoeht*/
                                   
                                    count++ ;
                                   
                                    /*Wenn count genau gleich Zeilenlaenge ist ,

                                    geht das Programm in If .*/
                                   
                                    if(count == zeile_1.length()) {
                                       
                                        /*Und wenn decodierte_Text bis Laenge der ZeilenLaenge erricht,
                                        dann ZeilenUmbruch ("\n")und in decodierte_Text eingefuegt .*/
                                       
                                        decodierte_Text += "\n";
                                       
                                        /*Hier wird count wieder 0 .*/
                                       
                                        count = 0 ;
                                       
                                    }
                                   
                                }
                               
                            }
                           
                        }else{
                           
                            /*Wenn bildLaenge % SchluesselLaenge ungleich 0 ist,
                            gibt das Programm "INVALID KEY" aus.*/   
                           
                            System.out.println("INVALID KEY");
                           
                        }
                        if ( !istKeyDoppelt && istKeyEineZahl && istKeyObisN && istDecodeEingegeben && istBildVielfaches){
                           
                            /*Keine Fehlern beim Ueberpruefen des Schluessels gibt,
                            istKeyOk(wert von istKeyOk geaendert als wahr) ist wahr. */
                           
                            istKeyOk = true ;
                        }
                    }
                   
                    /*ein Fehler beim Ueberpruefen des Schluessels auftritt,gibt das Programm "INVALID KEY" aus*/
                   
                    else {
                       
                        System.out.println("INVALID KEY");
                       
                    }
                   
                }
               
                /*Wenn istKeyOk wahr ist (wenn Decode Eingegeben ist und Eigegebene Key Eine Zahl ist  und
                Key von 0 bis n ist und Ziffern von Key nur einmal vorkommt und das Bild Vielfaches ist ),
                geht das Programm in if .*/
               
                if (istKeyOk == true){
                   
                    System.out.print(decodierte_Text);
                   
                    System.out.println(zeile_1.length() + " " + zeilenAnzahl );
                   
                }
               
                /*damit diese while-schleife nur einmal durchlaufen wird.*/
                break;
            }
           
            /*Wenn keine Decode eingegeben wird.*/
           
            if(!istDecodeEingegeben){
               
                /*Hier wird Umbrueche von Zeilen gemacht und das Bild ausgegeben.
                Hier wird das Bild in einzelne Zeilen unterteilt */
               
                for(int i = 0; i < bild.length(); i = i + zeile_1.length()){
                   
                    System.out.println(bild.substring(i, i+ zeile_1.length()));
                }
               
                /*Hier wird ZeilenBreite und ZeilenHoehe ausgegeben.*/
               
                System.out.println(zeile_1.length() + " " + zeilenAnzahl );
            }
        }
       
    }
}



From: agahok...@hotmail.com
To: javacod...@googlegroups.com
Subject: RE: hata mesaji
Date: Fri, 8 Apr 2011 11:29:42 +0200

Murat KOZAN

unread,
Apr 11, 2011, 5:35:42 AM4/11/11
to javacoder_ss11
arkadaslar bu kod calistiginda

su hatayi veriyo: varible zeile 26. ve 27. satirda cannot find symbol
diyo



import java.util.Scanner;
class AsciiShopMain{



public static void main (String [] args){
Scanner sc = new Scanner(System.in);
AsciiImage bild1 = new AsciiImage();
int rp=0; //read parameter
String r=""; //wort read
//bild ohne zeilen

bild1.addLine(zeile);
bild1.toString();
bild1.getWidth();
bild1.getHeight();

r+=sc.next(); //read speichern

if(sc.hasNextInt()){
rp=sc.nextInt(); //read parameter speichern


while(sc.hasNext() && bild1.getHeight()<rp){

zeile = sc.nextLine();
bild1.addLine(zeile);


}

}else
System.out.println("INPUT MISMATCH");
}

}
________________________________________________


class AsciiImage{


int bildHohe = 0;
int bildBreite = 0;
String bild="";

public boolean addLine(String zeile){
if (bildHohe == 1){
if(zeile.length() == 0){// wenn keinezeichen in erstezeile steht
return false;
}else{
bildBreite = zeile.length();
}
}
if(bildBreite != zeile.length()){//laenge kontroll

return false;
}
bildHohe++;
bild += zeile;
return true;
}
public int getWidth(){

return bildBreite;
}
public int getHeight(){

return bildHohe;
}

Burhan Göksu

unread,
Apr 11, 2011, 5:42:38 AM4/11/11
to javacod...@googlegroups.com
galiba "zeile" variablenin typ�n� hic bir yerde belirlememissin. zeile
mesela String mi?

Am 11.04.2011 11:35, schrieb Murat KOZAN:
> arkadaslar bu kod calistiginda
>
> su hatayi veriyo: varible zeile 26. ve 27. satirda cannot find symbol
> diyo
>
>
>
> import java.util.Scanner;
> class AsciiShopMain{
>
>
>
> public static void main (String [] args){
> Scanner sc = new Scanner(System.in);
> AsciiImage bild1 = new AsciiImage();
> int rp=0; //read parameter
> String r=""; //wort read
> //bild ohne zeilen
>
> bild1.addLine(zeile);
> bild1.toString();
> bild1.getWidth();
> bild1.getHeight();
>
> r+=sc.next(); //read speichern
>
> if(sc.hasNextInt()){
> rp=sc.nextInt(); //read parameter speichern
>
>

> while(sc.hasNext()&& bild1.getHeight()<rp){

Murat Kozan

unread,
Apr 11, 2011, 6:13:54 AM4/11/11
to javacod...@googlegroups.com
Burhan kodlari iyice incelersen tanitmissim ben AsciiImage klassesinde Parameter olarak
public boolean addLine(String zeile){


Murat



> Date: Mon, 11 Apr 2011 11:42:38 +0200
> From: burhan...@gmail.com
> To: javacod...@googlegroups.com
> Subject: Re: hata mesaji
>
> galiba "zeile" variablenin typünü hic bir yerde belirlememissin. zeile

Burhan Göksu

unread,
Apr 11, 2011, 6:19:05 AM4/11/11
to javacod...@googlegroups.com
method'dan bahsetmiyorum.
AsciiShopMain sinifin icinde zeile variablenin tüpü belli degil.


Am 11.04.2011 11:35, schrieb Murat KOZAN:

Burhan Göksu

unread,
Apr 11, 2011, 6:20:17 AM4/11/11
to javacod...@googlegroups.com
veyatta zeile yerine direk sc.nextLine() yazabilirsin...

Murat Kozan

unread,
Apr 11, 2011, 3:36:34 PM4/11/11
to javacod...@googlegroups.com
tesekkür ederim dostum, yarin görüsürüz


Murat




Date: Mon, 11 Apr 2011 12:20:17 +0200

From: burhan...@gmail.com
To: javacod...@googlegroups.com
Subject: Re: hata mesaji

ATT00001
Reply all
Reply to author
Forward
0 new messages