❶ 如何在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的,這點一定要注意