反转随机数量的数字

时间:2016-04-30 23:35:59

标签: java reverse joptionpane

我有这段代码:

int rev=0;
int opt=Integer.parseInt(JOptionPane.showInputDialog("How many numbers do you need?"));
for (int i=0; i<numbers; i++) {
   int numbers=Integer.parseInt(JOptionPane.showInputDialog("Add your numbers"));
   while (numbers != 0) {
      rev=rev*10;
      rev=rev+numbers%10;
      numbers=numbers/10;
    }
 }
JOptionPane.showMessageDialog(null,"Your numbers are "+rev);

它完美无缺。我希望数字可以反转。它确实如此,但它必须是多个数字。

示例:让我们说我想要2个数字:123456输出为321654

我的问题是,如果我想要3个号码:123我如何制作它以便打印321,因为它没有&#39}如果我添加一位数字,我会工作。

对不起,如果它没有意义,或者我的问题没有解释。

3 个答案:

答案 0 :(得分:0)

这样的事情应该有效(未经测试)

dispatcher.invoke

或者这个

 String res="";
 Integer opt=Integer.parseInt(JOptionPane.showInputDialog("How many numbers do you need?"));
 for (int i=0; i<opt; i++) {
   String numbers=JOptionPane.showInputDialog("Add your numbers");
   res = new StringBuilder(numbers).reverse().toString() + res;
 }
 JOptionPane.showMessageDialog(null,"Your numbers are "+res);

答案 1 :(得分:0)

您可以将这些数字放在ArrayList中,然后使用Collections.reverse(list)以相反的顺序获取它们。

答案 2 :(得分:0)

您需要撤消每个项目的内部字符顺序,然后反转项目提供给您的顺序。

    ArrayList<StringBuilder> reversedNumbers = new ArrayList<StringBuilder>();
    for (/*your for loop condition here...*/) {
        String sNumber = /*ask the user for a string here...*/
        StringBuilder reversedNumber = new StringBuilder(sNumber).reverse();
        reversedNumbers.add(reversedNumber);
    }
    Collections.reverse(reversedNumbers);/*finally reverse the colection*/
    JOptionPane.showMessageDialog(null,"Your numbers are "+ reversedNumbers);