java中有方法直接实现array的倒叙的。可以用Collections的reverse方法即可:
创新互联是一家专业提供兴海企业网站建设,专注与网站设计制作、做网站、html5、小程序制作等业务。10年已为兴海众多企业、政府机构等服务。创新互联专业的建站公司优惠进行中。
ArrayList al = new ArrayList();
al.add("a");
al.add("b");
//al.add("b");
Collections.reverse(al);
System.out.println(al);
输出结果:[b, a]。
方法如下:
public class Test {
// 随机数倒序的方法,参数是随机数
public void sorts(int i) {
char[] charArray = (i + "").toCharArray();
String string = "";
// 倒序显示
for (int j = charArray.length - 1; j -1; j--) {
string += charArray[j];
}
int int1 = Integer.parseInt(string);
System.out.println(i +"倒序以后变成:" + int1);
}
public static void main(String[] args) {
Test test = new Test();
test.sorts(35461);
}
}
运行效果:
System.out.print("请输入5个数字: ");
Scanner stdin = new Scanner(System.in);
int[] A = new int[5];
for(int i=0;i5;i++)A[i]=stdin.nextInt();
java.util.Arrays.sort(A);
System.out.print("倒序输出: ");
for (int k = A.length-1; k = 0; k--) {
System.out.print(A[k]+" ");
}
你原来的代码太乱了,所以我自己写了。然后说说你代码的问题。
首先,你String sc = stdin.next(); 只是得到第一个空格前的东西,所以你不可能得到"1 2 3 4 5"这样带空格的字符串,要得到带空格的一行的话,请认准String sc = stdin.nextLine();谢谢~~
然后, String []result = null;只是声明了一个叫result的数组,还没给数组分配空间呢,所以请用 String []result = new String[5];来为数组分配空间。(为什么需要给数组分配空间呢?因为为了提高效率,数组的大小被定义为不变,于是需要你为其初始化大小,即通过new array_type[num]的形式来声明)
再者, for(int i=A.length; i=0; i--)这行也有问题,数组大小比数组最大索引大1,因为数组是从0开始计数的。还有System.out.print(result[k]);这句,你连个分隔符都没有,到时候输出来的就成一连串的数字了,比如本来应该是12 13 17 34 54 的却成了1213173454,你叫人怎么看呢?
最后,你是不是要写冒泡啊?话说,你的冒泡也是猛了点吧。。四不像呢这是。。
PS:我偷懒用类库了,你们诅咒我被雷劈掉吧~~