java数组倒叙代码 java数组倒序方法

如何用Java编写一个程序,将输入的数字重新倒叙排列?

思路如下:

创新互联主要从事做网站、成都网站设计、网页设计、企业做网站、公司建网站等业务。立足成都服务蔡甸,十年网站建设经验,价格优惠、服务专业,欢迎来电咨询建站服务:18982081108

1,录入字符串

2,使用正则表达式分割

3,转换为int数组

4,排序

5,拼接,代码如下:

import java.util.Arrays;

import java.util.Scanner;

public class Demo8 {

public static void main(String[] args) {

Scanner sc = new Scanner(System.in);

String str = sc.nextLine();// 录入字符串

String[] strs = str.split(",");// 使用正则表达式进行分割

int[] is = new int[strs.length];

for (int i = 0; i strs.length; i++) {// 遍历String数组,赋值给int数组

is[i] = Integer.parseInt(strs[i]);

}

Arrays.sort(is);// 使用数组工具类进行排序,也可以自己使用冒泡或选择排序来进行排序

StringBuffer sb = new StringBuffer();

for (int i = 0; i is.length; i++) {// 遍历进行拼接

if (i == is.length - 1) {

sb.append(is[i]);

} else {

sb.append(is[i] + ",");

}

}

System.out.println(sb.toString());

}

java array倒序

java中有方法直接实现array的倒叙的。可以用Collections的reverse方法即可:

ArrayList al = new ArrayList();

al.add("a");

al.add("b");

//al.add("b");

Collections.reverse(al);

System.out.println(al);

输出结果:[b, a]。

Java 数组倒序输出

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:我偷懒用类库了,你们诅咒我被雷劈掉吧~~


当前题目:java数组倒叙代码 java数组倒序方法
URL分享:http://scjbc.cn/article/doiidge.html

其他资讯