当前位置:首页 » 编程语言 » java排序输出

java排序输出

发布时间: 2022-07-12 09:51:30

‘壹’ java 对数字排序输出有多少数字

实现思路:就是输入的数字之间有固定的规则,之后读取后,依次进行大小比较,之后直到排序结束,输出结果即可:
import java.util.Scanner;
public class ArrangedNumbers {
Integer arryNum[];
int count = 0;/* 统计数字 */
boolean judgeIsNum = true;
StringBuffer stringbuffer = new StringBuffer();
Scanner scanner = new Scanner(System.in);
String character;
int memoryNum;
/**
* 任意输入字符
*
* @return 返回输入的内容
*/
// public String inputNum() {
// return null;
// }

/**
* 判断为数字
*/
public void judgmentFigures() {
while (judgeIsNum) {
System.out.println("请任意输入数字,以空格间隔,以回车结束!");
character = scanner.nextLine();
char[] figures = character.toCharArray();
for (int i = 0; i < figures.length; i++) {
if (!(figures[i] >= '1' && figures[i] <= '9')
&& figures[i] != 32) {
judgeIsNum = true;
break;
}
judgeIsNum = false;
}
if (!judgeIsNum)
stringbuffer.append(character);
}
String inputContent = stringbuffer.toString();
String[] numbers = inputContent.split("\\s+");
arryNum = new Integer[numbers.length];
for (int i = 0; i < numbers.length; i++) {
try {
memoryNum = Integer.parseInt(numbers[i]);
arryNum[count] = new Integer(memoryNum).intValue();
count++;
} catch (Exception e) {
/* 如果不出现异常,则说明肯定是数字 */
}
}
}

/**
* 对数字进行排序
*/
public void compareNum() {
for (int i = 0; i < arryNum.length; i++) {
for (int j = 0; j < arryNum.length - i - 1; j++) {
if (arryNum[j] > arryNum[j + 1]) {
Integer temp = arryNum[j];
arryNum[j] = arryNum[j + 1];
arryNum[j + 1] = temp;
}
}
}
}

/**
* 按升序排列输出
*/
public void outputNum() {
System.out.println("按升序排序:");
for (int i = 0; i < arryNum.length; i++) {
System.out.println(arryNum[i]);
}
}
}

//package com.color.program;

public class JJArrangedNumbers {

public static void main(String args[]) {
ArrangedNumbers arrangeNumbers = new ArrangedNumbers();
arrangeNumbers.judgmentFigures();
arrangeNumbers.compareNum();
arrangeNumbers.outputNum();
}
}

‘贰’ 用java编写任意输入数字,排序输出

//package com.color.program;

import java.util.Scanner;

public class ArrangedNumbers {

Integer arryNum[];

int count = 0;/* 统计数字 */

boolean judgeIsNum = true;

StringBuffer stringbuffer = new StringBuffer();

Scanner scanner = new Scanner(System.in);

String character;

int memoryNum;

/**
* 任意输入字符
*
* @return 返回输入的内容
*/
// public String inputNum() {
// return null;
// }

/**
* 判断为数字
*/
public void judgmentFigures() {
while (judgeIsNum) {
System.out.println("请任意输入数字,以空格间隔,以回车结束!");
character = scanner.nextLine();
char[] figures = character.toCharArray();
for (int i = 0; i < figures.length; i++) {
if (!(figures[i] >= '1' && figures[i] <= '9')
&& figures[i] != 32) {
judgeIsNum = true;
break;
}
judgeIsNum = false;
}
if (!judgeIsNum)
stringbuffer.append(character);
}
String inputContent = stringbuffer.toString();
String[] numbers = inputContent.split("\\s+");
arryNum = new Integer[numbers.length];
for (int i = 0; i < numbers.length; i++) {
try {
memoryNum = Integer.parseInt(numbers[i]);
arryNum[count] = new Integer(memoryNum).intValue();
count++;
} catch (Exception e) {
/* 如果不出现异常,则说明肯定是数字 */
}
}
}

/**
* 对数字进行排序
*/
public void compareNum() {
for (int i = 0; i < arryNum.length; i++) {
for (int j = 0; j < arryNum.length - i - 1; j++) {
if (arryNum[j] > arryNum[j + 1]) {
Integer temp = arryNum[j];
arryNum[j] = arryNum[j + 1];
arryNum[j + 1] = temp;
}
}
}
}

/**
* 按升序排列输出
*/
public void outputNum() {
System.out.println("按升序排序:");
for (int i = 0; i < arryNum.length; i++) {
System.out.println(arryNum[i]);
}
}
}

//package com.color.program;

public class JJArrangedNumbers {

public static void main(String args[]) {
ArrangedNumbers arrangeNumbers = new ArrangedNumbers();
arrangeNumbers.judgmentFigures();
arrangeNumbers.compareNum();
arrangeNumbers.outputNum();
}
}

--------运行结果-------
请任意输入数字,以空格间隔,以回车结束!
123 4 5 6 7 7,23
请任意输入数字,以空格间隔,以回车结束!
2 e adf 3 4
请任意输入数字,以空格间隔,以回车结束!
5 6 6 76 7
按升序排序:
5
6
6
7
76

‘叁’ JAVA基础编程题:排序输出

importjava.util.*;

publicclassSolution{
publicstaticvoidmain(String[]a){
Scannerin=newScanner(System.in);
Stringstr=in.nextLine();
String[]splitstr=str.split(",");
long[]array=newlong[splitstr.length];
for(inti=0;i<array.length;i++){
array[i]=Integer.parseInt(splitstr[i]);
}
Arrays.sort(array);
System.out.print(Arrays.toString(array));
}
}

‘肆’ java给数组从大到小排序输出问题

代码

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

双引号引起来的文字, 直接当成字符串输出, 而你是想用arr[i] 这个变量,那就需要去掉双引号

修改如下

System.out.print(arr[i]+"");//""表示每个元素中间用空格隔开

运行测试

999567555338342925241912

‘伍’ java 如何实现数组排序并输出每个数字原来的索引

java变成对数组进行排序可以使用ArraySort方法,保存源数组下标值可以存入map中,如下代码:


importjava.util.ArrayList;importjava.util.Arrays;importjava.util.HashMap;importjava.util.List;publicclassceshi{publicstaticvoidmain(String[]args){intn=5;int[]a={8,5,4,6,2,1,7,9,3};HashMapmap=newHashMap();for(inti=0;i<a.length;i++){map.put(a[i],i);//将值和下标存入Map}//排列Listlist=newArrayList();Arrays.sort(a);//升序排列for(inti=0;i<a.length;i++){list.add(a[i]);}for(Objectobject:list){System.out.print(object+",");}System.out.println();//查找原始下标for(inti=0;i<n;i++){System.out.print(map.get(a[i])+",");}}}

运行结果如下:

‘陆’ java从小到大排序输出

import java.util.Scanner;

public class Sort {

public static void main(String[] args) {
Scanner input = new Scanner(System.in); // 实例控制台输入类
int count = 0; // 想要输多少个数字
int temp = 0; // 临时变量
System.out.print("想要输入多少个数字:");
count = input.nextInt(); // 输入
int[] numberArray = new int[count]; // 用 已经赋好值的 count 实例数组
for (int i = 0; i < numberArray.length; i++) { // 循环输值
System.out.print("请输入第[" + (i + 1) + "]个数字:");
numberArray[i] = input.nextInt();
}
System.out.println("排序前:");
for(int i = 0; i < numberArray.length; i++){ // 输出
System.out.println("第[" + (i + 1) + "]个数字:"+numberArray[i]);
}
/*
* 冒泡排序
*/
for (int i = 0; i < numberArray.length; i++) {
for (int n = 0; n < numberArray.length; n++) {
if (numberArray[n] > numberArray[i]) {
temp = numberArray[n];
numberArray[n] = numberArray[i];
numberArray[i] = temp;
}
}
}
System.out.println("排序后:");
for(int i = 0; i < numberArray.length; i++){ // 输出
System.out.println("第[" + (i + 1) + "]个数字:"+numberArray[i]);
}
}

}

‘柒’ 如何在Java中从键盘输入10个数,用选择法按降序排序并输出

在Java中在数组中保存10个数,调用下面的排序函数,用选择法按降序排序:public static void selectionSort(int[] arr){ for (int i = 0; i < arr.length - 1; i++) { int max = i; for (int j = i + 1; j < arr.length; j++) { if (arr[max] < arr[j]) { max = j; } } if (max != i) { int tmp = arr[max]; arr[max] = arr[i]; arr[i] = tmp; } } }

热点内容
滑板鞋脚本视频 发布:2025-02-02 09:48:54 浏览:432
群晖怎么玩安卓模拟器 发布:2025-02-02 09:45:23 浏览:557
三星安卓12彩蛋怎么玩 发布:2025-02-02 09:44:39 浏览:743
电脑显示连接服务器错误 发布:2025-02-02 09:24:10 浏览:536
瑞芯微开发板编译 发布:2025-02-02 09:22:54 浏览:146
linux虚拟机用gcc编译时显示错误 发布:2025-02-02 09:14:01 浏览:232
java驼峰 发布:2025-02-02 09:13:26 浏览:651
魔兽脚本怎么用 发布:2025-02-02 09:10:28 浏览:532
linuxadobe 发布:2025-02-02 09:09:43 浏览:212
sql2000数据库连接 发布:2025-02-02 09:09:43 浏览:726