PHP-Code:
public static int wordvalue(String s){
char[] alphabet = {'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z'};
int sum=0, l= s.length();
s = s.toLowerCase();
for(int k=0; k<l; k++){
for(int n=0; n<26; n++){
if(s.charAt(k) == alphabet[n]){
sum += n+1;
break;
}
}
}
return sum;
}
geht das auch eleganter? gibt die addierten "Buchstabenwerte lt Alphabet" aus, ohne Sonderzeichen zu beachten. Funktioniert auch für Sätze, blanks werden ignoriert. Gefällt mir eigentlich ganz gut, viel besser als 26 Fallunterscheidungen zu machen. Aber ich hätte es gerne noch eleganter, und vor allem würde ich gerne z.B. Scrabble-Werte einstellen. Klar, dafür kann ich einen zweiten Array nehmen, der dann die "Funktionswerte" aufnimmt, aber das ist wieder so unelegant.