/ Forside/ Teknologi / Udvikling / Java / Spørgsmål
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Java
#NavnPoint
molokyle 3688
Klaudi 855
strarup 740
Forvirret 660
gøgeungen 500
Teil 373
Stouenberg 360
vnc 360
pmbruun 341
10  mccracken 320
lægge "1" til det indtastede
Fra : z1terapi
Vist : 584 gange
50 point
Dato : 03-03-06 10:10

Hej
Jeg prøver mig lidt frem med noget Javakodning. Jeg vil så gerne prøve at lave en såkaldt Cæsar kryptering. Det vil sige at hvis en bruger trykker 'A', bliver det husket som 'B'. Hvis han trykker 'D', bliver det husket som 'E' osv. Altså den bruger det næste bogstav i alfabetet.

Jeg har dette, som bare tager inputtet og skriver det ud. Men hvordan får jeg den til at lægge 1 til bogstavet, så det bliver eksempelvis 'B' i stedet for 'A'?


Kode
public class chartest {

public static void main(String arg[])
throws java.io.IOException
{
char stak[] = new char[15];
for(int i = 0; i <=15; i++)
{
char bogstav = (char)System.in.read();
stak[i] = bogstav;

System.out.print(bogstav);
}
}
/** Creates a new instance of chartest */
public chartest() {

}

}


på forhånd tak
Thomas

 
 
Kommentar
Fra : peque


Dato : 03-03-06 10:35

Det du udskriver er hvilket nr i stak du udskriver

char bogstav = (char)System.in.read();
i++;
stak[i] = bogstav;

dermed lægger du en mere til det index i din stak som den leder efter o udskriver derfor det næste bogstav...


Håber det var det du søgte

Kommentar
Fra : z1terapi


Dato : 03-03-06 11:08

Det ændrede intet. Det bogstav jeg taster, bliver skrevet ud
/Thomas

Kommentar
Fra : Forvirret


Dato : 03-03-06 12:05

Du får lagt bogstavet ind i stakken, men bruger ikke stakken til noget. Derfor skal du lægge 1 til "bogstav", da det er den variabel, du skriver ud.

char bogstav = (char)System.in.read();
stak[i] = bogstav;
bogstav++;
System.out.print(bogstav);


Kommentar
Fra : z1terapi


Dato : 03-03-06 12:16

Det virkede ikke umiddelbart, men har fundet ud af at når jeg har fyldt stak[],
laver den godt nok om til det næste bogstav. Men det jeg ville var jo at den skulle gøre det hver gang jeg skrev et bogstav...

Det ser nu sådan ud:
Kode
public class chartest {

public static void main(String arg[])
throws java.io.IOException
{
char stak[] = new char[15];
for(int i = 0; i <=15; i++)
{
char bogstav = (char)System.in.read();
// stak[i] = bogstav;
bogstav++;
System.out.print(bogstav);
}
}
/** Creates a new instance of chartest */
public chartest() {

}
}


/Thomas

Du har følgende muligheder
Dette spørgsmål er blevet annulleret, det er derfor ikke muligt for at tilføje flere kommentarer.
Søg
Reklame
Statistik
Spørgsmål : 177409
Tips : 31962
Nyheder : 719565
Indlæg : 6407779
Brugere : 218874

Månedens bedste
Årets bedste
Sidste års bedste