依次输入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; }}