Java 我的代码中的错误在哪里? /**产生:一个字符串,包含表示为素数的每个大写字母(在'a'..'Z'中)*/ 公共静态字符串primeChars(){ 字符串s=“”; //inv:s包含表示为素数的“A”…c-1中的每个大写字母 对于(char c='A';c

Java 我的代码中的错误在哪里? /**产生:一个字符串,包含表示为素数的每个大写字母(在'a'..'Z'中)*/ 公共静态字符串primeChars(){ 字符串s=“”; //inv:s包含表示为素数的“A”…c-1中的每个大写字母 对于(char c='A';c,java,Java,它应该是: /** 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 fo

它应该是:

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

如果字符为素数,则需要将其连接起来。

可能需要编写

s = s + c;
那么,您想在字符ASCII码或字符位置上计算iPrime吗? 也就是说,您希望“A”值是65(ASCII码)还是1(因为A是1个字母)? 在第一种情况下,修复

s = s + c
这已经足够了,但在第二秒你们也需要改变

s = s + c
不要通过“c”,而是


你会遇到什么样的错误?你能写一点关于你正在尝试做什么的介绍吗?或者你会遇到什么错误?同时从你的状态中删除
==true
。我不知道。你的代码中的错误在哪里?(堆栈跟踪可能会回答这个问题。)对不起,各位,我不太确定。我是Java新手。@Adil Soomro,我为什么要删除==true?很抱歉没有澄清。我希望它是ASCII代码。谢谢您提供的额外信息!
if (Loops.isPrime((int)c)==true) {
if (Loops.isPrime( (int)c - (int)'A' + 1 )==true) {