你要做的是,使用JOptionPane作为源来获取来自用户的输入,所以你不需要扫描器。一旦你从用户存储字符串,那么你可以用它来实例化一个StringBuilder。
使用JOptionPane.showMessageDialog时,必须传递null作为组件的第一个参数。
String string = JOptionPane.showInputDialog("Please input a string");
StringBuilder sb = new StringBuilder(string);
JOptionPane.showMessageDialog(null, sb.reverse().toString());
更完整和验证需求的解决方案看起来如下:
public static void main(String... args) {
String string = JOptionPane.showInputDialog("Input a String to reverse it");
if (string != null && string.length() > 0) {
StringBuilder reversedString = new StringBuilder(string);
JOptionPane.showMessageDialog(null, reversedString.reverse().toString());
} else {
//validation in case Cancel/Close button or empty input provided
if (string == null) {
JOptionPane.showMessageDialog(null, "No input provided.");
} else {
JOptionPane.showMessageDialog(null, "empty input provided.");
}
}
}
要反转String
不使用StringBuilder
你可以使用一个for loop
的这样做。你开始在原始字符串上一次循环一个字符,但是,你从头开始并开始。在循环内部,一次创建一个字符,创建原始字符串的反转。见下文:
String originalString= JOptionPane.showInputDialog("Please input a string");
String reversed = "";
//loop from end of string to the beginning
for(int i = originalString.length()-1; i >= 0; i--) {
/*
* Use the previous value of reversed, add to it new character
* this addition causes a new string to be created internally since
* String is immutable
*/
reversed += originalString.charAt(i);
}
JOptionPane.showMessageDialog(null, reversed);
来源
2015-12-03 01:25:51
Raf
请张贴相关码,优选地是[最小,完整的,并且实施例可验证程序](http://stackoverflow.com/help/麦克),这里有你的问题,而不是链接。链接可能会死亡,链接可能包含大型节目,节目太大而无法请求志愿者进行审查。您对此要求的遵守情况将不胜感激,并可能帮助您获得更好更快的帮助。 –
那里。这次我为你做了。 –