我有这段代码:
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个数字:123
,456
输出为321654
我的问题是,如果我想要3个号码:1
,2
,3
我如何制作它以便打印321
,因为它没有&#39}如果我添加一位数字,我会工作。
对不起,如果它没有意义,或者我的问题没有解释。
答案 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);