反转没有stringbuilder和用户输入的字符串?

时间:2015-12-06 09:17:02

标签: java

您好我必须创建一个程序,该程序可以获取用户通过输入框输入的字符串,并在输出框中反向显示该字符串。我也不能使用StringBuilder。在我知道之前,我能够使用StringBuilder

来做到这一点
import java.lang.StringBuilder;
import javax.swing.JOptionPane; 

public class reverse 
{
   public static void main(String[] args)
   {
     String string = JOptionPane.showInputDialog("Please input a string");

     JOptionPane.showMessageDialog(null, new StringBuilder(string).reverse().toString());

   }
}`

所以在我发现我不能使用StringBuilder后,我试图重新编程,这就是我提出的代码

    import javax.swing.JOptionPane; 
public class reversethisstring
{
   public static void main(String[] args) 
   {
     String reverseMe = JOptionPane.showInputDialog("Please input a string");
for (int i = 0; i < reverseMe.length(); i++) {
    reverseMe = reverseMe.substring(1, reverseMe.length() - i)
        + reverseMe.substring(0, 1)
        + reverseMe.substring(reverseMe.length() - i, reverseMe.length());
 }
 JOptionPane.showMessageDialog(reverseMe);
   }
}

现在我在第12行收到错误 “javax.swing.JOptionPane类型中的方法showMessageDialog(java.awt.Component,java.lang.Object)不适用于参数(java.lang.String)”

当我在最后一行使用“system.out.println”而不是JOptionPane时,代码工作正常。那么如何将其转换为在输出框中工作呢?

3 个答案:

答案 0 :(得分:1)

showMessageDialog接受两个参数,第一个是Component。您只需传入null即可修复代码:

requests python

答案 1 :(得分:0)

尝试更改此行:

  JOptionPane.showMessageDialog(reverseMe);

对于这样的事情:

  JOptionPane.showMessageDialog (null, reverseMe, "Title", JOptionPane.ERROR_MESSAGE);

或者像这样:

 JOptionPane.showMessageDialog (null, reverseMe);

答案 2 :(得分:0)

除了上面提到的showMessageDialog(null, reverseMe);之外,还有另外一个用String来反转使用String来自char[] s的事实。{/ p>

public static void main(String[] args) {
   String string = JOptionPane.showInputDialog(null, "Please input a string");
   String reversed = reverse(string);
   showMessageDialog(null, reversed); 
}

private static String reverse(String forward) {
    char[] x = forward.toCharArray();
    String reversed = "";
    for(int i = x.length-1; i >= 0; --i) {
        reversed += x[i];
    }
    return reversed;
}