您的位置:

java数字排序,java数字排序 数组

本文目录一览:

用Java编写 数字由小到大的排列

排序算法,基本的高级语言都有一些提供。C语言有qsort()函数,C++有sort()函数,java语言有Arrays类(不是Array)。用这些排序时,都可以写自己的排序规则。

Java API对Arrays类的说明是:此类包含用来操作数组(比如排序和搜索)的各种方法。

实现代码如下:

package com.test.test;

import java.util.ArrayList;

import java.util.List;

import java.util.Scanner;

public class Test{

public static void main(String args[]){

System.out.println("请输入数字并按回车, 输入其他字符按回车退出");

Scanner scan = new Scanner(System.in);

ListInteger list = new ArrayListInteger();

while(scan.hasNextInt()){

list.add(scan.nextInt());

scan = new Scanner(System.in);

}

Test test = new Test();

ListInteger fList = test.arrangeList(list);

test.printList(fList);

}

public ListInteger arrangeList(ListInteger list){

ListInteger rList = new ArrayListInteger();

for(int i=0;ilist.size();i++){

int k = 0;

int temp = list.get(i);

for(int j=1;jlist.size();j++){

if(templist.get(j)){

k = j;

temp = list.get(j);

}

}

if(rList.add(list.get(k))){

list.remove(k);

i--;

}

}

return rList;

}

public void printList(ListInteger list){

for(Integer i:list){

System.out.print(i+" ");

}

}

}

java 输入任意几个数字,怎样将他们从大到小排序?

public static void main(String[] args) { Scanner scan = new Scanner(System.in)。

}

System.out.println("从大到小输出:");

for (int m = num.length-1; m =0; m--) {

System.out.println(num[m]);//从大到小输出

}

}

String[] str = scan.nextLine().split(" "),// 输入时以空格隔开数字。

int[] num = new int[str.length];//初始化一个整型数组,长度为你输入数字的个数。

String[] str = scan.nextLine().split(" ");// 输入时以空格隔开数字

int[] num = new int[str.length];//初始化一个整型数组,长度为你输入数字的个数

for (int i = 0; i str.length; i++) {

num[i] = Integer.parseInt(String.valueOf(str[i]));//将字符转换为int型再赋给整型数组

}

Arrays.sort(num);//升序排序

System.out.println("从小到大输出:");

for (int j = 0; j num.length; j++) {

System.out.println(num[j]);//从小到大输出

JAVA 100个数字用算法排序

class SortTest { // 冒泡排序

    public void sort(int[] args) {

 

        for (int m : args) {

            System.out.print("排序前 " + args[m] + " ");

        }

 

        int time1 = 0, time2 = 0;

        for (int i = 0; i  args.length - 1; i++) {

            ++time1;

            for (int j = i + 1; j  args.length; j++) {

                ++time2;

                int temp;

                if (args[i]  args[j]) {

                    temp = args[j];

                    args[j] = args[i];

                    args[i] = temp;

                }

            }

        }

        System.out.println();

        System.out.println("外循环次数:" + time1 + "内循环次数:" + time2);

        for (int n : args) {

            System.out.print("排序后 " + n + " ");

        }

    }

 

    public static void main(String[] args) {

        int[] arg = new int[] { 2, 1, 4, 5, 8, 7, 6, 3, 9, 0 };

        new SortTest().sort(arg);

    }

}

// 降序排列 循环次数最少

// 输出结果为:

// 排序前 4 排序前 1 排序前 8 排序前 7 排序前 9 排序前 3 排序前 6 排序前 5 排序前 0 排序前 2

// 外循环次数:9 内循环次数:45

// 排序后 0 排序后 1 排序后 2 排序后 3 排序后 4 排序后 5 排序后 6 排序后 7 排序后 8 排序后 9

import java.util.ArrayList;

import java.util.Arrays;

import java.util.Collections;

import java.util.List;

import java.util.Random;

/**

 * class name: RapidSort

 * description: Java快速排序法:数组和集合

 * @author Jr

 *

 */

public class RapidSort {

    public static void QuickSort(int e[], int first, int end) {

        int i = first, j = end, temp = e[first];

        while (i  j) {

            while (i  j  e[j] = temp)

                j--;

            e[i] = e[j];

            while (i  j  e[i] = temp)

                i++;

            e[j] = e[i];

        }

        e[i] = temp;

        if (first  i - 1)

            QuickSort(e, first, i - 1);

        if (end  i + 1)

            QuickSort(e, i + 1, end);

    }

    public static void main(String[] args) {

        int arr[] = { 49, 38, 65, 97, 76, 13, 27, 49 };

        int len = 8;

        int i;

        System.out.printf("before sort\n");

        for (i = 0; i  len; i++)

            System.out.printf("%d  ", arr[i]);

        System.out.printf("\n");

        QuickSort(arr, 0, len - 1);

        System.out.printf("after sorted\n");

        for (i = 0; i  len; i++)

            System.out.printf("%d  ", arr[i]);

    }

}

结果:

before sort

49  38  65  97  76  13  27  49  

after sorted

13  27  38  49  49  65  76  97

java实现数字排列

电脑上没有编译器了,我说下思路吧,你把这四个数字放到一个整形数组里面,),百是指百分位,十指十分位,个就是个位,为了防止重复数字出现,用了判断语句if(..)

然后

public void 方法(数组)

{

for( int i=0;i数组.length;i++)

{

int 百= 数组[i]*100;

for( int j=0;j数组.length;j++)

{

if(j==i)

continue;

int 十= 数组[j]*10;

for( int k=0;k数组.length;k++)

{

if(k==i||k==j)

continue;

int 个= 数组[k];

int total = 百+十+个;

System.out.println( total);

}

}

}

}

java从键盘依次输入10个正整数,存放在数组中,每输入一个整数就进行排序,而不是最后排序?

按照你的要求依次输入10个正整数,每输入一个整数就进行排序的Java程序如下

import java.util.Scanner;

public class J {

public static void bubblesort(int[] arr,int n){

for(int i=0;in-1;i++){

for(int j=0;jn-1-i;j++){

  if(arr[j]arr[j+1]){

   int temp=arr[j];

   arr[j]=arr[j+1];

   arr[j+1]=temp;

  }

}

}

for(int i=0;in;i++){

System.out.print(arr[i]+" ");

}

System.out.println();

}

public static void main(String[] args) {

int a[]=new int[10];

Scanner sc=new Scanner(System.in);

for(int i=0;i10;i++){

a[i]=sc.nextInt();

bubblesort(a,i+1);

}

}

}

java实现字符串中数字的截取排序;请给出具体的代码

import java.util.Set;

import java.util.TreeSet;

public class Demo {

public static void main(String[] args) {

String str1 = "-1an2b3j2.5";

String str2 = "123ab1sd2asd3";

Demo demo = new Demo();

demo.getNumbers(str1);

demo.getNumbers(str2);

}

public void getNumbers(String str) {

SetInteger set = new TreeSetInteger();

for (String s : str.split("\\D+")) {

if (!s.equals("")) {

set.add(Integer.parseInt(s));

}

}

System.out.println(set);

}

}