/** Yields: a String that contains each capital Letter (in 'A'..'Z') whose representation is prime */
public static String primeChars() {
String s = "";
// inv: s contains each capital in "A'..c-1 whose representation is prime
for (char c = 'A'; c <= 'Z'; c=(char)(c+1)) {
if (Loops.isPrime((int)c) == true) {
s= s+1;
}
}
// s contains each capital in 'A' ..'Z' whose rep is a prime
return s;
}
質問する
77 次
2 に答える
4
そのはず:
s = s + c;
素数の場合は文字を連結します。
于 2012-04-04T05:14:40.183 に答える
0
たぶんあなたは書きたいです
s = s + c
次に、 isPrime を char ASCII コードまたは char 位置で評価しますか? つまり、'A' の値を 65 (ASCII コード) にするか、1 (A は 1 文字であるため) にするか? 最初のケースで修正
s = s + c
それで十分ですが、次に変更も必要です
if (Loops.isPrime((int)c)==true) {
"c" は渡さないが、
if (Loops.isPrime( (int)c - (int)'A' + 1 )==true) {
于 2012-04-04T05:25:04.523 に答える