0

新手问题来了。试图让我的头脑围绕 JAVA。

我如何打印出参考的内容而不仅仅是他们的位置?我的程序是从用户那里获取一些文本,然后以相反的顺序打印出来。

这是我的程序(到目前为止):

package myProgram;
import javax.swing.JOptionPane;
public class someRandomClass {
public static void main(String[] args) {
    String word = JOptionPane.showInputDialog("Write som text here");
    StringBuilder outPut = new StringBuilder();
    for (int i = word.length()-1; i>=0; i--){
        outPut.append(i);
    }
    System.out.println(outPut.toString());
  }
}

我很高兴获得任何帮助和提示!:)

4

3 回答 3

1

在行

 outPut.append(i);

您正在附加循环计数器的值。你肯定是说

 outPut.append(word.charAt(i));
于 2012-09-02T23:33:59.863 回答
1

您似乎附加了整数而不是适当的字符。试试这个:

outPut.append(word.substring(i, i + 1))

这样, 的各个字符word将附加到您的StringBuilder. 请注意,该append方法也可以将 achar作为参数,因此您也可以使用word.charAt(i).

于 2012-09-02T23:34:07.207 回答
1

那么,您想在该位置发射角色吗?尝试使用String.charAt.

outPut.append(word.charAt(i));

不过,我可能会避免这种情况,而只是索引char[]from String.toCharArray

老实说,我会避免手动执行反转循环...尝试如下操作:

final String word = JOptionPane.showInputDialog("Enter text below");
System.out.println(new StringBuilder(word).reverse());

StringBuilder.reverse应该为您完成工作(也可能以更有效的方式)。您也不需要toString手动调用,因为println将为您这样做。

于 2012-09-02T23:41:24.707 回答