这是我在这个网站上的第一个问题,所以我不知道该怎么做,但我的问题如下: 这只是具有多种方法的一小段代码。 我需要打印String中所有字符的ASCII码(来自用户的输入)。现在我尝试使用for循环扫描第一个字符打印它的ASCII代码,然后扫描下一个等等。但此刻它只打印第一个字符的ASCII代码几次。显然我的for循环有问题,但我一直想弄明白,我真的找不到它。
static String zin(String zin) {
int length = zin.length();
char letter = zin.charAt(0);
int ascii = (int) letter;
for (int i = 0; i < zin.length(); i++ ) {
System.out.println((int) ascii);
}
return zin;
}
答案 0 :(得分:5)
原因是您没有重新分配ascii
。试试这个:
static String zin(String zin) {
int i = 0;
int length = zin.length();
for ( i = 0; i < zin.length(); i++ ) {
int ascii = (int)zin.charAt(i);
System.out.println(ascii);
}
return zin;
}
答案 1 :(得分:0)
代码中的问题是,虽然你有一个for循环,但你没有使用for循环迭代。您只获得该字符串的第一个字符。而不是使用
static String zin(String zin) {
for (int i = 0; i < zin.length(); i++) {
System.out.println((int) zin.charAt(i));
}
return zin;
}