⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 chap5-1.txt

📁 JAVA 学习资源
💻 TXT
字号:
// 程序5-1
interface Sortable{		// 定义一个接口
    int Compare(Sortable  s);
}

class Sort{	  	// 定义一个排序类,其中仅包含一个静态方法
    public static void SelectSort(Sortable a[ ]){
        int i, j, k;
        Sortable  temp;
        
        for(i=0;i<a.length-1;i++){    // 选择排序
            k=i;
            for(j=i+1;j<a.length;j++)
                if(a[k].Compare(a[j])<0)
                    k=j;
            temp=a[i];     a[i]=a[k];    a[k]=temp;
        }
    }
}        
class Student implements Sortable{    // 定义一个学生类
    private int score;
    
    Student(int x){                // 构造函数
        score=x;
    }
    public int Compare(Sortable  s){ 	// 实现接口Sortable中的方法
        Student st=(Student)s;		// 类型强制转换
        return score-st.score; 
    }
    public String  toString( ){ 		// 将数据转换成一个字符串
        return  Integer.toString(score);
    }
}

class Rectangle implements Sortable{	// 矩形类也实现了接口
    private int length,width;           	// 矩形的长和宽

    Rectangle(int x,  int y){   	          // 构造函数
        length=x;width=y;
    }
    int area( ){  return  length*width;  }
    public int Compare(Sortable  s){     // 实现接口Sortable中的方法
        Rectangle rec=(Rectangle)s;        // 类型强制转换
        return  area( )-rec.area( ); 
    }
    
    public String  toString( ){               // 将面积转换成一个字符串
        return  Integer.toString(area( ));
    }
}

public class hello {    
    public static void main(String args[ ]) {
        Student stud[ ]=new Student[15];
        int i;        

        for( i=0;i<stud.length;i++)     // 随机产生15个数
            stud[i]=new Student((int)(Math.random( )*100));		
        Sort.SelectSort(stud); 	// 排序
        System.out.print("按成绩排序:" );         
        for( i=0;i<stud.length;i++) // 输出结果
            System.out.print(stud[i].toString( )+"  "); 		
        
        Rectangle R[ ]=new Rectangle[10];
        for( i=0;i<R.length;i++)     // 随机产生20个数
            R[i]=new Rectangle((int)(Math.random( )*10),(int)(Math.random( )*10));		
        Sort.SelectSort( R );         // 排序
        System.out.print("\n按面积排序:" ); 
        for( i=0;i<R.length;i++)     // 输出结果
            System.out.print(R[i].toString( )+"  "); 
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -