Java使用for循环打印char数组字符ASCII值 解决输出重复问题
问题原因
- 你的代码中
ascii变量仅在初始化时赋值为字符B对应的ASCII值,整个循环过程中没有更新,所以每次打印的ASCII值都是固定值,和当前遍历到的字符没有关联。 - 之前单独声明的
B、l、a等字符变量没有实际使用,可以直接删除。
修正后的可运行代码
public class Lab1Part2{ public static void main (String[] args){ // 字符数组可直接替换为你需要的城镇名/宠物名 char[] nameCharArray = {'B','l','a','n','c','h'}; // 遍历输出每个字符对应的ASCII值 for(int i=0; i<nameCharArray.length; i++){ char currentChar = nameCharArray[i]; // char类型强转为int即可直接得到对应的ASCII值 int ascii = (int) currentChar; System.out.println(currentChar + " = " + ascii); } } }
补充说明
- 可以用更简洁的增强for循环实现相同效果:
for(char c : nameCharArray){ System.out.println(c + " = " + (int)c); }
- 修正后代码运行输出如下:
B = 66
l = 108
a = 97
n = 110
c = 99
h = 104
内容的提问来源于stack exchange,提问作者Bkavo123
相关产品推荐
相关产品推荐

