java數組降序
『壹』 一個數字很亂的數組,怎樣用java來降序排列
我原來給別人做了一個ArrayList的對象的排序,
這里是按照薪水和名字進行排序的各個實現
很有參考價值!源碼如下...
package 別人的程序的分析設計;
/**
* @author greatwqs
*
*/
import java.util.Collections;
import java.util.*;
public class myQuiz{
public static void main(String[] args) {
Employee e1 = new Employee("Cay",4000);
Employee e2 = new Employee("Bush",6000);
Manager m1 = new Manager ("Alice",5000);
//m1.setBonus(100000);
List<Employee> list_1=new ArrayList<Employee>();
list_1.add(e1);
list_1.add(e2);
list_1.add(m1);
System.out.println("以下按薪水排序後輸出[從高到低]");
Collections.sort(list_1,new Qing());
for(Employee e:list_1)
System.out.println(e);
List<Employee> list_2 = new ArrayList<Employee>();
list_2.add(e1);
list_2.add(e2);
list_2.add(m1);
System.out.println("以下按照姓名字典順序輸出:");
Collections.sort(list_2 , new Song());
for(Employee em :list_2){
System.out.println(em);
}
}
}
class Qing implements Comparator{
public int compare(Object obj0, Object obj1){
Employee c0 = (Employee)obj0;
Employee c1 = (Employee)obj1;
if(c0.getSalary() >= c1.getSalary())
return -1;
else
return 1;
}
}
class Song implements Comparator{
public int compare(Object obj0, Object obj1){
Employee c0 = (Employee)obj0;
Employee c1 = (Employee)obj1;
return c0.getName().compareTo(c1.getName());
}
}
/******Employee and Manager *****/
class Employee
{
public Employee(String n, double s)
{
name = n;
salary = s;
}
public String getName()
{
return name;
}
public double getSalary()
{
return salary;
}
public void raiseSalary(double byPercent)
{
double raise = salary * byPercent / 100;
salary += raise;
}
public String toString(){
return("name: "+name+"salary: "+salary);
}
private String name;
private double salary;
}
//後面還有補充.....
『貳』 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的,這點一定要注意
『叄』 java如何將數組倒序列印
直接數組元素對換
使用ArrayList: ArrayList存入和取出的順序是一樣的,可以利用這里特性暫時存儲數組元素.
使用Collections和Arrays工具類
零基礎學習java可按照這份大綱來進行學習
第一階段:Java專業基礎課程
----------
階段目標:
1. 熟練掌握Java的開發環境與編程核心知識
2. 熟練運用Java面向對象知識進行程序開發
3. 對Java的核心對象和組件有深入理解
4. 熟練應用JavaAPI相關知識
5. 熟練應用JAVA多線程技術
6. 能綜合運用所學知識完成一個項目
知識點:
1、基本數據類型,運算符,數組,掌握基本數據類型轉換,運算符,流程式控制制。
2、數組,排序演算法,Java常用API,類和對象,了解類與對象,熟悉常用API。
3、面向對象特性,集合框架,熟悉面向對象三大特性,熟練使用集合框架。
4、IO流,多線程。
5、網路協議,線程運用。
---------
第二階段:JavaWEB核心課程
階段目標:
1. 熟練掌握資料庫和MySQL核心技術
2. 深入理解JDBC與DAO資料庫操作
3. 熟練運用JSP及Servlet技術完成網站後台開發
4. 深入理解緩存,連接池,註解,反射,泛型等知識
5. 能夠運用所學知識完成自定義框架
知識點:
1、資料庫知識,範式,MySQL配置,命令,建庫建表,數據的增刪改查,約束,視圖,存儲過程,函數,觸發器,事務,游標,建模工具。
2、深入理解資料庫管理系統通用知識及MySQL資料庫的使用與管理。為Java後台開發打下堅實基礎。Web頁面元素,布局,CSS樣式,盒模型,JavaScript,jQuery。
3、掌握前端開發技術,掌握jQuery。
4、Servlet,EL表達式,會話跟蹤技術,過濾器,FreeMarker。
5、掌握Servlet相關技術,利用Servlet,JSP相關應用技術和DAO完成B/S架構下的應用開發。
6、泛型,反射,註解。
7、掌握JAVA高級應用,利用泛型,註解,枚舉完成自己的CRUD框架開發為後續框架學習做鋪墊。
8、單點登錄,支付功能,項目整合,分頁封裝熟練運用JSP及Servlet核心知識完成項目實戰。
---------
第三階段:JavaEE框架課程
階段目標:
1. 熟練運用Linux操作系統常見命令及完成環境部署和Nginx伺服器的配置
2. 熟練運用JavaEE三大核心框架:Spring,SpringMVC,MyBatis
3. 熟練運用Maven,並使用SpringBoot進行快速框架搭建
4. 深入理解框架的實現原理,Java底層技術,企業級應用等
5. 使用Shiro,Ztree和Spring,SpringMVC,Myts完成企業項目
知識點:
1、Linux安裝配置,文件目錄操作,VI命令,管理,用戶與許可權,環境部署,Struts2概述,hiberante概述。
2、Linux作為一個主流的伺服器操作系統,是每一個開發工程師必須掌握的重點技術,並且能夠熟練運用。
3、SSH的整合,MyBatis,SpringMVC,Maven的使用。
4、了解AOP原理,了解中央控制器原理,掌握MyBatis框架,掌握SSM框架的整合。
5、Shiro,Ztree,項目文檔,項目規范,需求分析,原型圖設計,資料庫設計,工程構建,需求評審,配置管理,BUG修復,項目管理等。
6、獨立自主完成一個中小型的企業級綜合項目的設計和整體架構的原型和建模。獨立自主完成一個大型的企業級綜合項目,並具備商業價值
『肆』 java.util.Arrays.sort(a)結果是升序排列,如何降序排列
java.util.Arrays.sort(a);//將a數組升序排列
Object[] obj=new Object[a.length];//定義一個存放a數組倒序排列的數組obj,大小為a數組的大小
int count=0;//設置obj數組的初始下標
for (int i = a.length-1; i >= 0; i--) {//將升序排列的a數組從最後一個開始往前循環
obj[count]=a[i];//將a升序排列後從最大值開始依次賦值給obj數組
count++;//obj數組下標遞增
}
//以下是輸出a倒序排列的數組obj
for (int i = 0; i <obj.length; i++) {
System.out.println(obj[i]);
}
沒有找到快捷方式,自己寫了一個方法,希望能幫到你。
『伍』 JAVA程序設計如何從高到低將從命令行讀取的一組數字進行降序排序
import java.util.Arrays;
import java.util.Scanner;
public class Test4 {
public static void main(String[] args) {
System.out.print("輸入一串純數字後按Enter鍵:");
Scanner sc = new Scanner(System.in);
String inps = sc.nextLine();
int maxNum = 0;
if(inps.trim().length()==0){
System.err.println("未輸入有效數字內容!");
return;
}
Object[] inpsArr = new Object[0];
if(inps.indexOf(",")>-1){
inpsArr = inps.split(",");//如果帶有英文逗號則以逗號分隔拆分為數組
}else{
char[] charArray = inps.toCharArray();//否則拆分為數組時把每一個字元作為數組的一個元素
inpsArr = new Object[charArray.length];
for (int i = 0; i < charArray.length; i++) {
char c = charArray[i];
inpsArr[i] = String.valueOf(c);
}
}
Object[] xx2 = sorts(inpsArr);//排序
System.out.println(Arrays.asList(xx2));//列印排序結果
}
/**
* 從大到小對數組元素進行排序,數組中的不可轉換為數值的元素將保持原位置不變,不參與排序
* @param soureArr : 待排序的數組
* @return 排序好的數組
*/
static Object[] sorts(Object[] soureArr){
Object[] arr = Arrays.Of(soureArr, soureArr.length);//復制一份副本進行操作,不改變原數組內容
Double d = 0d;//允許元素帶有小數點
Double d2 = 0d;//允許元素帶有小數點
for (int i = 0; i < arr.length-1; i++) {
String ss = String.valueOf(arr[i]);
try{
d = Double.valueOf(ss);
}catch(Exception e){
continue;//跳過 不可轉換為數值的元素
}
for (int j = i+1; j < arr.length; j++) {
String ss2 = String.valueOf(arr[j]);
try{
d2 = Double.valueOf(ss2);
}catch(Exception e){
continue;//跳過 不可轉換為數值的元素
}
if(d > d2){//排序方式:d<d2為降序,d>d2為升序
arr[i] = ss2;
arr[j] = ss;
ss = ss2;
d = d2;
}
}
}
return arr;
}
}
『陸』 java數組sort()方法降序怎麼排
java數組sort()方法降序方式:
用Arrays類sort()對數組元素進行降序排列
import java.util.Arrays;
class SortDemo
{
public static void main(String[] args)
{
int[] vec={0,15,-14,45,20,70};
Arrays.sort(vec);
System.out.println("/n");
System.out.println("降序排列:");
for (int i=vec.length-1;i>=0 ;i-- )
{
System.out.print(vec[i]+" ");
}
}
}
『柒』 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();
『捌』 java數組如何排序
如果是升序可以使用 Arrays.sort(數組名)(注意:要使用這個方法必須導入java.util.Arrays包)或者使用冒泡排序,如果是降序只能自己寫,推薦使用冒泡排序