0

这是我在这个网站上的第一个问题,所以我不知道该怎么做,但我的问题如下:这只是具有多种方法的一小段代码。我需要打印字符串中所有字符的 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;
}
4

2 回答 2

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;
}
于 2014-09-11T15:52:35.313 回答
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;
    }
于 2014-09-11T15:54:02.983 回答