gpt4 book ai didi

java - 将++ 运算符应用于 java int 数组以存储模式中出现的字符

转载 作者:行者123 更新时间:2023-11-29 09:59:03 25 4
gpt4 key购买 nike

我试图理解这行代码,它旨在存储字符串中出现的字符。

hash_str[str.charAt(i)]++

如果我将其添加到一个循环中并按如下方式定义 hash_str 数组和 str 字符串并仅打印该行,我将得到以下 输出.

String str = "this is a test string";
int len1 = str.length();
int hash_str[] = new int[256];

for (int i = 0; i < len1; i++) {
System.out.println(hash_str[str.charAt(i)]++);
}

**output**
0
0
0
0
0
1
1
1
0
2
1
0
2
2
3
3
3
0
2
0
0

但是,如果我执行以下操作,然后尝试打印存储在数组本身中的结果,则输出全为零。为什么不存储事件?

String str = "this is a test string";
int len1 = str.length();
int hash_str[] = new int[256];

for (int i = 0; i < len1; i++) {
hash_str[str.charAt(i)]++;
}
for (int i = 0; i < len1; i++) {
System.out.println(hash_str[i]);
}

**output**
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0

最佳答案

您必须打印所有直到 256 才能看到发生的情况

for (int i = 0; i < hash_str.length; i++) {
System.out.println(hash_str[i]);
}

关于java - 将++ 运算符应用于 java int 数组以存储模式中出现的字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48454035/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com