当前位置: 代码迷 >> J2SE >> 求解答数组 不是很明白 高手的讲下多谢
  详细解决方案

求解答数组 不是很明白 高手的讲下多谢

热度:31   发布时间:2016-04-24 01:04:47.0
求解答数组 不是很明白 高手的讲下谢谢
依次输入10个数,求最大值,然后反序输出这10个数。

定义一个员工类,该类具有姓名(随机产生一个五个字符组成的字符串)、编号(要求不重复)、和工资三个属性。要求随意创建该类的10个对象,并求出其中工资最高和最低人的姓名和编号。

今天将将数组 讲了二分查找和 冒泡 查找 冒泡还简单 就是二分查找 感觉有点吃力 
就这两个 麻烦写代码的时候写下注释 我好理解 小弟在此谢谢了

------解决方案--------------------
Java code
import java.util.Arrays;import java.util.Random;public class TestSync {    public static void main(String args[]) {        Emp[] emps = { new Emp(1000), new Emp(2000),                new Emp(5000), new Emp(3000), new Emp(4000)};        Arrays.sort(emps);        System.out.println(emps);        for (Emp e : emps) {            System.out.println(e);        }    }}class Emp implements Comparable {    String name;    int no = 0;    double salary;    static int count = 0;    Emp(double salary) {        this.no = ++count;        this.name = makeRandomName();        this.salary = salary;    }    private String makeRandomName(){//五个随即字符??有的坑爹啊。        int count = 0;        StringBuffer sb = new StringBuffer();        while(count++ < 5){            int random = new Random().nextInt();            sb.append((char)(Math.abs(random)%25 + 65));        }        return sb.toString();    }    @Override    public String toString() {        return "no = " + no + ",name = " + name + ",salary = " + salary;    }        public int compareTo(Object o) {        if (o instanceof Emp) {            Emp e = (Emp) o;            if (e.salary > this.salary) {                return -1;            }            if (e.salary < this.salary) {                return 1;            }        }        return 0;    }}
  相关解决方案