JAVA高手来帮下

来源:百度知道 编辑:UC知道 时间:2024/06/21 06:31:34
一个朋友给我弄来的东西我也不知道怎么弄!```谁能帮他弄出来?!```以下是问题!````

请编写一个完整的Java Application 程序。包含类Student、TestStudent,具体要求如下:
⑴Student类 :
①域
name : String对象,表示一个人姓名。
sex: char类型,用来表示性别。
id:long类型,表示学号。
classinfo:String对象,表示班级。
address :String对象,表示家庭地址。
②方法
Student (String name, char sex, long id):构造函数。
String getName() :返回姓名。
void setId(long id) :设置学号。
void setAddress(String add) :设置家庭地址。
void setClass(String classinfo) :设置班级信息。
public String toString() :返回学生的各项信息,包括姓名等上述属性。
⑵类TestStudent作为主类要完成测试功能:
①用以下信息生成一个Student对象aGirl。
姓名:李思 性别:女 学号:1234567
②设置家庭地址: 辽宁葫芦岛市龙湾南大街188号。
设置班级信息:2007JAVA1班。
③输出对象aGirl的各项信息。

你是想要别人的代码呀。我只能告诉你怎么做。
(1)先把这几个类模块分别实现;
(2)将数据写入文件,注意用StringBuffer缓冲流增强读取效率;
(3)实现文件操作接口,对存储信息进行处理;
(4)此外,学了数据结构的话,可用堆排序支持信息的在线排序;
堆排序代码如下:
public class HeapSort{
public static void createHeap(int[] a, int n, int h){
int i, j, flag;
int temp;

i = h; // i为要建堆的二叉树根结点下标
j = 2 * i + 1; // j为i结点的左孩子结点的下标
temp = a[i];
flag = 0;

//沿左右孩子中值较大者重复向下筛选
while(j < n && flag != 1){
//寻找左右孩子结点中的较大者,j为其下标
if(j < n - 1 && a[j] < a[j + 1]) j++;

if (temp > a[j]) //a[i]>a[j]
flag = 1; //标记结束筛选条件
else{ //否则把a[j]上移
a[i] = a[j];
i = j;
j = 2 * i + 1;
}
}
a[i] = temp; //把最初的a[i]赋予最后的a[j]
}

public static void initCreateHeap(int[] a){
int n = a.length;
for(int i = (n - 1) / 2; i >= 0; i --)
createHeap(a, n, i);
}