当前位置: 首页 > 知识库问答 >
问题:

从字符串中求和字符&打印最大字符串(java)

岳俊晖
2023-03-14

我被一些有趣的任务困住了。我有3个字符串(hello,heavy&word)。需要计算每一个世界的总和并打印最大的世界和总和。用于计算-a=1,z=26。所以hello=50,heavy=61&word=60。最大的字符串是“Heavy”,我需要像“Heavy,61”那样打印出来。我找到了从一个字符串计算字符的代码:

String[] words = {"hello", "heavy", "word"};

String str = "abc";
int sum = 0;

for (char ch : str.toCharArray()) {
    if (ch >= 'a' && ch <= 'z') {
        sum += 1 + ch - 'a';
    }
}
System.out.printf("%s %d%n", str, sum); //the result is abc, 6

共有1个答案

薛利
2023-03-14

您可以这样做:

String[] words = { "hello", "heavy", "word" };

int biggestSum = 0;
String biggestWord = null;

for (String word : words) {
    int sum = 0;

    for (char ch : word.toLowerCase().toCharArray()) {
        if (ch >= 'a' && ch <= 'z') {
            sum += 1 + ch - 'a';
        }
    }

    if (sum > biggestSum) {
        biggestSum = sum;
        biggestWord = word;
    }

    System.out.printf("%s %d%n", word, sum);
}

System.out.printf("Biggest word: %s %d%n", biggestWord, biggestSum);

在这里,我们遍历words中的每个单词,并对每个单词的sum进行计数。计算完sum之后,我们可以检查当前sum是否大于到目前为止找到的最大的字,如果是这样,我们将重写biggestword

 类似资料:
  • #include <stdio.h> #include <wchar.h> int main(void) { char str1[] = "abcd"; wchar_t str2[] = L"abcd"; return 0; } 技巧 用gdb调试程序时,可以使用“x/s”命令打印ASCII字符串。以上面程序为例: Temporary brea

  • 如果我有一个字符串“sssaaadddccc”,我如何只打印“sadc”。可以使用SubString吗?还是必须使用charAt()?

  • 问题内容: 我正在编写一个程序,该程序将以字符串形式输出唯一字符(通过扫描仪输入)。我创建了一个方法来尝试实现此目的,但我一直在获取不重复的字符,而不是字符串中唯一的一个(或多个)字符。我只想要唯一的字母。 这是我的代码: 这是上面代码的示例输出: 预期的输出将是: 问题答案: 根据所需的输出,当以后重复时,必须替换最初已经添加的字符,因此:

  • 字符串是一系列的字符,比如说 "hello, world"或者 "albatross"。Swift 的字符串用String类型来表示。String的内容可以通过各种方法来访问到,包括作为Character值的集合。 Swift 的 String  和 Character  类型提供了一种快速的符合 Unicode 的方式操作你的代码。字符串的创建和修改语法非常轻量易读,使用与 C 类似的字符串字面

  • 本页包含内容: 字符串字面量 初始化空字符串 字符串可变性 字符串是值类型 使用字符 计算字符数量 连接字符串和字符 字符串插值 比较字符串 字符串大小写 Unicode String是例如"hello, world","海贼王"这样的有序的Character(字符)类型的值的集合,通过String类型来表示。 Swift 的String和Character类型提供了一个快速的,兼容 Unicod

  • 问题内容: 我得到的用户输入包括非ASCII字符和不可打印的字符,例如 例如: 所需的输出: 使用Java删除它们的最佳方法是什么? 我尝试了以下操作,但似乎不起作用 输出量 问题答案: 您的要求不清楚。Java 中的所有字符都是Unicode字符,因此,如果将其删除,将留下一个空字符串。我假设您的意思是您要删除任何非ASCII,不可打印的字符。 此处, 代表可打印ASCII字符的POSIX字符类