-3
/** 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; 
}
4

2 に答える 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 に答える