本文目录一览:
- 1、用Java编写 数字由小到大的排列
- 2、java 输入任意几个数字,怎样将他们从大到小排序?
- 3、JAVA 100个数字用算法排序
- 4、java实现数字排列
- 5、java从键盘依次输入10个正整数,存放在数组中,每输入一个整数就进行排序,而不是最后排序?
- 6、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);
}
}