public static void main(String[] args) { Scanner scan = new Scanner(System.in)。
}
System.out.println("从大到小输出:")
for (int m = num.length-1m >=0m--) {
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 = 0i <str.lengthi++) {
num[i] = Integer.parseInt(String.valueOf(str[i]))//将字符转换为int型再赋给整型数组
}
Arrays.sort(num)//升序排序
System.out.println("从小到大输出:")
for (int j = 0j <num.lengthj++) {
System.out.println(num[j])//从小到大输出
实现思路:就是输入的数字之间有固定的规则,之后读取后,依次进行大小比较,之后直到排序结束,输出结果即可: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 = 0i <figures.lengthi++) {
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 = 0i <numbers.lengthi++) {
try {
memoryNum = Integer.parseInt(numbers[i])
arryNum[count] = new Integer(memoryNum).intValue()
count++
} catch (Exception e) {
/* 如果不出现异常,则说明肯定是数字 */
}
}
}
/**
* 对数字进行排序
*/
public void compareNum() {
for (int i = 0i <arryNum.lengthi++) {
for (int j = 0j <arryNum.length - i - 1j++) {
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 = 0i <arryNum.lengthi++) {
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
上述公式可以修改为:=-*INT(/)。MONTH函数函
排序算法,基本的高级语言都有一些提供。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)
List<Integer>list = new ArrayList<Integer>()
while(scan.hasNextInt()){
list.add(scan.nextInt())
scan = new Scanner(System.in)
}
Test test = new Test()
List<Integer>fList = test.arrangeList(list)
test.printList(fList)
}
public List<Integer>arrangeList(List<Integer>list){
List<Integer>rList = new ArrayList<Integer>()
for(int i=0i<list.size()i++){
int k = 0
int temp = list.get(i)
for(int j=1j<list.size()j++){
if(temp>list.get(j)){
k = j
temp = list.get(j)
}
}
if(rList.add(list.get(k))){
list.remove(k)
i--
}
}
return rList
}
public void printList(List<Integer>list){
for(Integer i:list){
System.out.print(i+" ")
}
}
}