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包)或者使用冒泡排序,如果是降序只能自己写,推荐使用冒泡排序