❶ 如何在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; } } }
❷ Java编写程序实现Comparator接口,实现字符串按 降序排序怎么弄
Comparator升序降序实现 int compare(Object o1, Object o2) 返回一个基本类型的整型 1) 如果要按照升序排序, 则o1 小于o2,返回-1(负数),相等返回0,01大于02
❸ java里升序和降序最简短的代码分别是什么
直接调用猜世jdk里面的方法Arrays.sort(args)方法。而且这个方法重载实现了多个参数,排序下标[N~M]位数字~倒叙,升序等等~
❹ java程序中数组升降序排列语法
完整代码如下:
importjava.util.Scanner;
publicclassDemo01{
publicstaticvoidmain(String[]args){
Scannersc=newScanner(System.in);
int[]a=newint[10];
int举察i=0;
System.out.println("输入10个数,每个数空格隔开:");
//输入10个整数
while(true){
a[i]=sc.nextInt();
i++;
if(i==10){
break;
}
}
//冒正好茄泡排序(降序袜虚)
for(intk=0;k<a.length-1;k++){
for(intj=k+1;j<a.length;j++){
//升序把<改成>
if(a[k]<a[j]){
inttemp=a[k];
a[k]=a[j];
a[j]=temp;
}
}
}
//输出排序后的数组
for(Integerb:a){
System.out.println(b);
}
}
}
❺ Java中对数组升序排列用Arrays.sort( )方法,那降序排列用什么方法
Arrays.sort( )方法缓槐一个参数默认是升序排列,你要降序排列第一种方法调用重载的2个参数的Arrays.sort( T[]a,Comaparator c)才行薯哪租,第二个参数需要自定义一个比较器数兆类实现Comaparator接口,根据需要重新compare方法。
第二种方法先进行升序排列,再调用Arrays的asList方法转换成数组,然后调用Collections的reverse方法倒序排列,最后调用Collection的toArray方法转换成数组。
❻ java中怎样对一个整数数组进行降序排序
int[] array = {1,2,5,8,12}; //随便定义一个核野数改判喊组,用冒泡排序法
for (int i = 0;i < array.length;i++){
for(int j = i;j <冲友 array.length;j++){
if (array[i] < array[j]){
int temp = array[i];
array[i] = array[j];
array[i] = temp;
}
}
}
或者你有一个数组
List list = new ArrayList();
list.sort();
❼ 编写程序,从控制台随机输入三个整数,按降序排列输出。要求捕获异常并处理。
以下是C++代码,实现从控制台随机输入三个整数,按降序排列输出,并且在输入时捕获可能抛出的异常。
cppCopy code#include <iostream>#include <stdexcept> // 异常头文件#include <algorithm> // STL头文件using namespace std;int main() { int a, b, c; try { // 尝试执行输入操作
cout << "请输胡轮入三个整数,用空格隔开:" << endl;
cin >> a >> b >> c; if (cin.fail()) { // 如果输入失败,抛出异常
throw runtime_error("输入的不是整数");
}
} catch (runtime_error e) { // 捕获异常并输出错误信息
cerr << "错误:" << e.what() << endl; return -1; // 返回错误代码
} 答蔽 int arr[3] = {a, b, c}; sort(arr, arr + 3, greater<int>()); // 使用STL的sort函数进行降清做州序排序
cout << "排序后的结果为:" << arr[0] << " " << arr[1] << " " << arr[2] << endl; return 0; // 返回正常退出代码}
解释:
try 块尝试执行输入操作,如果输入失败,则抛出 runtime_error 类型的异常。
catch 块捕获 runtime_error 类型的异常,并输出错误信息。
sort(arr, arr + 3, greater<int>()) 对数组进行降序排序。
cerr 是标准错误流,用于输出错误信息。
what() 方法返回异常对象的错误信息。
❽ 用java编程序 对一个由5个整数组成的数组,按照其内元素的大小依降序排序
int[]array=newint[]{5,8,2,3};
for(inti=0;i<array.length-1;i++){
for(intj=i+1;j<array.length;j++){
if(a[i]<a[j]){
毕碧山intt=a[i];
a[i]=a[j];
慧信a[j]手中=t;
}
}
}
❾ java数组的升序降序排列
先来说你的问题,,你要实现写入文件是排序的结果,,那么你就应该先排序再写到文件,,而不是你现在这样接受一个写一个,,再说为什么文件里面是乱码,是因为你每次写入文件的时候写了一个字符‘0’,这个写到文件中打开后并不是你想看到的字符串“0”,所以打开是乱码,
帮你简单修改了代码
publicstaticvoidmain(Stringargs[])
{
Scannerscanner=newScanner(System.in);
try
{
intsum=0;//总分
RandomAccessFilef=newRandomAccessFile("data.txt","rw");
System.out.print("请输入学生的个数:");
intn=scanner.nextInt();
ints[]=newint[n];
for(inti=0;i<n;i++)
{
System.out.println("请输入第"+(i+1)+"个学生的成绩");
s[i]=scanner.nextInt();
sum+=s[i];
}
System.out.println("总分:"+sum);
Arrays.sort(s);
f.writeBytes(Arrays.toString(s));
f.close();
}
catch(IOExceptione)
{
System.err.println(e);
e.printStackTrace();
}
}
随机文件(RandomAccessFile)读写的一些方法,如writeInt writeChar 等,这些方法写到文件的数据都是二进制的,比如你writeInt(25),写到文件后打开是不会看到25的,这点一定要注意