Hallo zusammen,
könnte mir vielleicht bitte jemand bei dieser Analyse kurz helfen?
Frage 1: Welche allgemeine Problemstellung löst die angegebene Methode letter (int i)?
Meine Lösung: Alle Werte unter 10 werden bei i einfach in String-Werte umgewandelt und zurückgegeben. Bei Werten über 10 wird eine Verschiebung in ASCII vorgenommen um -10 bei dem Startwert 'A'.
---> Würde dies soweit passen oder liege ich falsch?
Frage 2: Welche allgemeine Problemstellung löst die Methode enc und dec?
Meine Vermutung: Es wird hier eine Verschiebung (Verschlüsselung) und Dekodierung vorgenommen. Allerdings verstehen ich das mit der Base nicht so ganz.
Könnte mir hier bei der Analyse jemand behilflich sein? Vielen Dank.
könnte mir vielleicht bitte jemand bei dieser Analyse kurz helfen?
Java:
class Code {
static String letter (int i) {
if (i<10) return Integer.toString(i);
return Character.toString((char) ('A'+(i-10)));
}
static int value(char i){
if(i>= '0' && i<= '9') return i -'0';
return i-'A' +10;
}
static String enc(int i, int base) {
if(base>36 || base<2) throw new IllegalArgumentException();
if(i==0) return "0";
String result = "";
while (i>0) {
result = letter(i%base) + result;
i /=base;
}
return result;
}
static int dec(String s, int base) {
if (base>36 || base<2) throw new IllegalArgumentException();
int result = 0;
for (int i = 0; i <s.length();i++) {
result*=base;
result += value(s.charAt(i));
}
return result;
}
public static void main(String[] args) {
System.out.println(enc(12,2));
System.out.println(enc(15,16));
System.out.println(dec(enc(8,2),2));
System.out.println(dec("1A",16));
System.out.println(enc(10,3));
System.out.println(enc(10,50));
}
}
Frage 1: Welche allgemeine Problemstellung löst die angegebene Methode letter (int i)?
Meine Lösung: Alle Werte unter 10 werden bei i einfach in String-Werte umgewandelt und zurückgegeben. Bei Werten über 10 wird eine Verschiebung in ASCII vorgenommen um -10 bei dem Startwert 'A'.
---> Würde dies soweit passen oder liege ich falsch?
Frage 2: Welche allgemeine Problemstellung löst die Methode enc und dec?
Meine Vermutung: Es wird hier eine Verschiebung (Verschlüsselung) und Dekodierung vorgenommen. Allerdings verstehen ich das mit der Base nicht so ganz.
Könnte mir hier bei der Analyse jemand behilflich sein? Vielen Dank.