为什么我的for循环不起作用?

时间:2014-09-11 15:51:03

标签: java for-loop ascii charat

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

2 个答案:

答案 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;
    }