In einem weiteren Projekt beschäftigen wir uns mit Zeichenketten (Strings). Stringmethoden wie length(); charAt(int); toUpperCase(); toLowerCase(); indexOf(String); replace(char, char); substring(int,int); werden hier angewandt.
Auszüge aus dem Quelltext:
public String kodiere(String pText, int pOffset){
String lText="";
for (int i=0;i<pText.length();i++){
char c = pText.charAt(i);
lText+=code(c,pOffset);
}
return lText;
}
public char code(char pChar, int pOffset){
String lAlphabet="ABCDEFGHIJKLMNOPQRSTUVWXYZ";
if (pOffset<0||pOffset>25)pOffset=0;
if (pChar==' ')return pChar;
int lIndex = lAlphabet.indexOf(""+pChar);
if (lIndex+pOffset<26)return lAlphabet.charAt(lIndex+pOffset);
return lAlphabet.charAt(lIndex+pOffset-26);
}
public String dekodiere(String pText, int pOffset){
String lText="";
if (pOffset<0||pOffset>25)pOffset=0;
for (int i=0;i<pText.length();i++){
char c = pText.charAt(i);
lText+=buchstabe(c,pOffset);
}
return lText;
}
public char buchstabe(char pChar, int pOffset){
String lAlphabet="ABCDEFGHIJKLMNOPQRSTUVWXYZ";
if (pOffset<0||pOffset>25)pOffset=0;
if (pChar==' ')return pChar;
int lIndex = lAlphabet.indexOf(""+pChar);
if (lIndex-pOffset>=0)return lAlphabet.charAt(lIndex-pOffset);
return lAlphabet.charAt(lIndex-pOffset+26);
}
public int zeichenhaeufigkeit(String pText,char pChar){
int lAnzahl=0;
for (int i=0;i<pText.length();i++){
char lChar = pText.charAt(i);
if (lChar==pChar)lAnzahl++;
}
return lAnzahl;
}
public boolean istPalindrom(String pText){
boolean lPalindrom=true;
pText=pText.toUpperCase();
int i=0;
while (lPalindrom&&i<pText.length()/2){
lPalindrom=lPalindrom&&pText.charAt(i)==pText.charAt(pText.length()-i-1);
i++;
}
return lPalindrom;
}
public String chinesensprache(String pText){
String lText="";
for (int i=0;i<pText.length();i++){
if (pText.charAt(i)=='R')lText+="L";
else if (pText.charAt(i)=='r')lText+="l";
else lText+=pText.charAt(i);
}
return lText;
}