hjälp med substition i java|Programmering / Grafisk formgivning|Forum|Nordichardware

Search
Forum Scope


Match



Forum Options



Minimum search word length is 3 characters - maximum search word length is 84 characters
Lost password?
The forums are currently locked and only available for read only access
sp_Feed sp_TopicIcon
hjälp med substition i java
marsan
It’s a first time for everybody
Medlem
Forum Posts: 5
Member Since:
January 28, 2003
sp_UserOfflineSmall Offline
1
April 22, 2003 - 1:44 pm
sp_Permalink sp_Print

Hej!
Ska göra ett litet program som byter ut de bokstäver som skrivs in, till nästa --> a blir b , c blir d och så vidare.
Här är min kod:

import java.*;
import javax.swing.*;

class sub_en_kod
{
public static void main (String [] a)
{
String s=JOptionPane.showInputDialog("Skriv in text för kodning");
String plaintext=input(s);
System.out.println(plaintext);
}
public static String input(String str)

{

String s="";
char c=' ';
int a;
char o;

for(int i=1;i<=str.length();i++)
{
c=str.charAt(i-1);

a = (int) c;

a+=i;

o = (char) a;

System.out.print(o);
}

return s;

}
}

Nu är det så att jag endast kan skriva in 10 tecken sen får jag en massa feltecken.
Någon som kan hjälpa mig?
tack

misko
Siktar mot toppen
Medlem
Forum Posts: 70
Member Since:
December 30, 2000
sp_UserOfflineSmall Offline
318496
April 22, 2003 - 10:49 pm
sp_Permalink sp_Print
import javax.swing.*;

public class StringTransformer {

public static void main(String[] args) {
String str = JOptionPane.showInputDialog("Skriv in text för kodning");
StringBuffer buffer = new StringBuffer();
for(int i = 0; i < str.length(); i++) {
buffer.append((char) (((int) str.charAt(i)) + 1));
}
System.out.println(buffer.toString());
}
}

lär funka..

däremot så har du inte definierat vad som ska hända med 'z'? ska det bli ett 'a' eller ett 'A' eller ngt annat? 🙂

vad som ska hända med tecken som inte är bokstäver.. om ngn skriver in mellanslag till exempel...?

marsan
It’s a first time for everybody
Medlem
Forum Posts: 5
Member Since:
January 28, 2003
sp_UserOfflineSmall Offline
318567
April 23, 2003 - 6:49 am
sp_Permalink sp_Print

tack!
Så anledningen till att det inte tog mer tecken än 10 var att jag inte använde mig av StringBuffer?

Mellanslag borde bli mellanslag även efter kodningen.

misko
Siktar mot toppen
Medlem
Forum Posts: 70
Member Since:
December 30, 2000
sp_UserOfflineSmall Offline
318577
April 23, 2003 - 7:24 am
sp_Permalink sp_Print

om mellanslag ska förbli mellanslag så måste du lägga till en if-sats som tar hänsyn till det..

misko
Siktar mot toppen
Medlem
Forum Posts: 70
Member Since:
December 30, 2000
sp_UserOfflineSmall Offline
319247
April 23, 2003 - 9:58 pm
sp_Permalink sp_Print

marsan wrote: tack!
Så anledningen till att det inte tog mer tecken än 10 var att jag inte använde mig av StringBuffer?

glömde svara på det där...

for (int i = 1; i <= str.length(); i++) {
c = str.charAt(i-1);
a = (int) c;
a += i;
o = (char) a;
}

där har du felet... det har inget med 10 att göra...

a += i; (dvs a = a + i;) betyder att du ökar dina chars med räknaren från for-loopen.. först ökar du med 1.. sen med 2.. osv osv..

marsan
It’s a first time for everybody
Medlem
Forum Posts: 5
Member Since:
January 28, 2003
sp_UserOfflineSmall Offline
319358
April 24, 2003 - 7:14 am
sp_Permalink sp_Print

ok!
jag tackar så mycket! laugh

Forum Timezone: Europe/Stockholm
Most Users Ever Online: 1030
Currently Online:
Guest(s) 99
Currently Browsing this Page:
1 Guest(s)
Top Posters:
Andreas Galistel: 16287
Jonas Klar: 15897
ilg@dd: 10810
Nyhet: 10607
Mind: 10550
Ctrl: 10355
Gueno: 9881
Guest: 9344
Snorch: 8881
Callister: 8468
Newest Members:
PetrbonFU PetrbonFU
Karine Bembry
Dolores Mcdaniels
Anibal McLeish
Francisca Alt
Alfie Everhart
Lester Huitt
Orlando Jorgensen
Mikki Lundgren
Dakota Kozlowski
Forum Stats:
Groups: 11
Forums: 59
Topics: 146630
Posts: 1300967

 

Member Stats:
Guest Posters: 2
Members: 79425
Moderators: 0
Admins: 11
Administrators: nordicadmin, Henrik Berntsson, Anton Karmehed, Carl Holmberg, Joel Oscarsson, Mikael Linnér, Mikael Schwartz, Andreas Paulsson, Nickebjrk, Mattias Pettersson, EmxL