java - 字符数组

标签 java char

我试图打印字符串中的每个第二个字母,但出于某种原因,我只正确打印了第一个第二个字母,但之后它一直以奇怪的顺序打印。这是我的代码:

    out.print("Please enter a word: ");
    String word = in.nextLine();
    char[] c = word.toCharArray();
    int x = 0;
    while (x < c.length) {
        if (c[x] % 2 != 0) {
            out.print(word.charAt(x) + " ");
        }

        x++;
    }

最佳答案

你应该改变这个:

if (c[x] % 2 != 0) {

if (x % 2 != 0) {

这比较的是您正在使用的索引,而不是比较字符。 x 是字符的位置。 c[x] 是字符。您可以将 c[x] 读作“数组 c 中位置 x 的值”。

关于java - 字符数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18901273/

相关文章:

java - 如果所有 Java 字符串都是 UTF-16 字符串,那么 char 数据类型的最大大小如何为 2?

java - AbstractTableModel 中的空指针

Java int 相等性不一致?

java - 如何使用 Controller 返回 bean <list> 到 Ajax,并将它们显示在表格上?

java - 双向链接 Lisl 不断出现空指针错误

将 int 转换为 char C 公式

java打印字符数组

c - 指向 strcpy 上的 char 数组段错误的指针,但使用等号

C++ extern const char* 没有按预期工作

java - Eclipse Java EE 中缺少 "Download additional server adapters"