Java Collections.reverse方法不反转条目
我下面的代码应该从用户那里接受一个整数,然后以相反的顺序打印他们输入的任何整数。我没有得到任何错误,但是当我运行这个程序时,整数并没有被反向打印。有人能帮我找出原因吗Java Collections.reverse方法不反转条目,java,arraylist,collections,Java,Arraylist,Collections,我下面的代码应该从用户那里接受一个整数,然后以相反的顺序打印他们输入的任何整数。我没有得到任何错误,但是当我运行这个程序时,整数并没有被反向打印。有人能帮我找出原因吗 import java.util.*; public class ReverseDigits { public static void main(String[] args) { Scanner sc = new Scanner(System.in); String response;
import java.util.*;
public class ReverseDigits {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String response;
System.out.println("Please enter a whole number.");
response = sc.next();
reverseDigit(response);
}
public static void reverseDigit(String digit) {
ArrayList al = new ArrayList();
al.add(digit);
Collections.reverse(al);
System.out.println("Your number in reverse order is: " + al);
}
}
你误解了我的意思。此方法反转您提供的列表,而不是其内容。由于您使用具有单个元素的列表调用此方法,因此结果将是相同的列表
如果要反转字符串,请参阅
附带说明:不要使用原始类型,如ArrayList
,这样会有麻烦。首选类型安全方式ArrayList
你误解了它的作用。此方法反转您提供的列表,而不是其内容。由于您使用具有单个元素的列表调用此方法,因此结果将是相同的列表
如果要反转字符串,请参阅
附带说明:不要使用原始类型,如ArrayList
,这样会有麻烦。首选类型安全方式ArrayList
试试这段代码
ArrayList al = new ArrayList();
al.add(new StringBuffer(digit).reverse().toString());
试试这个代码
ArrayList al = new ArrayList();
al.add(new StringBuffer(digit).reverse().toString());
如果您有一个集合,则其顺序与“前进”的顺序相反 如果要反转整数的字符串表示形式,可以使用StringBuilder反转数字
StringBuilder sb = new StringBuilder();
sb.append(digits);
sb.reverse();
System.out.println("Your number in reverse order is: "+ sb);
如果您有一个集合,则其顺序与“前进”的顺序相反 如果要反转整数的字符串表示形式,可以使用StringBuilder反转数字
StringBuilder sb = new StringBuilder();
sb.append(digits);
sb.reverse();
System.out.println("Your number in reverse order is: "+ sb);
如果要反转
字符串
为什么要将其添加到列表中
使用以下命令:
String s = sc.next();
StringBuilder sb = new StringBuilder(s);
System.out.println(sb.reverse());
如果要反转
字符串
为什么要将其添加到列表中
使用以下命令:
String s = sc.next();
StringBuilder sb = new StringBuilder(s);
System.out.println(sb.reverse());
reverse(List)
方法用于反转指定列表中元素的顺序。由于集合中只有一项,因此顺序与初始列表相反。您可以在尝试反转整数时使用以下代码
package com.stackoverflow.answer;
import java.util.*;
public class ReverseDigits {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("Please enter a whole number: ");
int number = scanner.nextInt();
System.out.println(String.format("Your number in reverse order is: %d", reverse(number)));
scanner.close();
}
public static int reverse(int x) {
return reverse(x, 0);
}
private static int reverse(int x, int y) {
return x == 0 ? y : reverse(x / 10, y * 10 + x % 10);
}
}
reverse(List)
方法用于反转指定列表中元素的顺序。由于集合中只有一项,因此顺序与初始列表相反。您可以在尝试反转整数时使用以下代码
package com.stackoverflow.answer;
import java.util.*;
public class ReverseDigits {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("Please enter a whole number: ");
int number = scanner.nextInt();
System.out.println(String.format("Your number in reverse order is: %d", reverse(number)));
scanner.close();
}
public static int reverse(int x) {
return reverse(x, 0);
}
private static int reverse(int x, int y) {
return x == 0 ? y : reverse(x / 10, y * 10 + x % 10);
}
}
非常感谢你!我将阅读更多关于ArrayList的内容,您的链接解决了我的问题。非常感谢!我将阅读更多关于ArrayList的内容,您的链接解决了我的问题。请不要使用StringBuffer,它是十多年前更换的。请不要使用StringBuffer,它是十多年前更换的。