本文目录一览:
一道Java编程题,拜托了各位大神
1.定义一个Student类,包括学号,姓名,成绩三个字段,生成get,set和toString方法,实现Comparable接口,重写toCompare方法,方法里就是本题的逻辑,先按成绩比较,再按学好比较,使用TreeSet不实现这个接口会报错。
package Collection;
public class Student implements ComparableStudent {
private long sno;
private String name;
private int score;
public long getSno() {
return sno;
}
public void setSno(long sno) {
this.sno = sno;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getScore() {
return score;
}
public void setScore(int score) {
this.score = score;
}
@Override
public int compareTo(Student o) {
// TODO Auto-generated method stub
if (this.score o.score) {
return 1;
} else if (this.score o.score) {
return -1;
} else {
if(this.snoo.sno) {
return 1;
}else {
return -1;
}
}
}
@Override
public String toString() {
return "Student [sno=" + sno + ", name=" + name + ", score=" + score + "]";
}
}
2.然后写测试类,生成十个学生,然后插入treeset,直接遍历输出就是排序好的结果。
package Collection;
import java.util.Random;
import java.util.TreeSet;
public class TreeSetTest {
public static void main(String[] args) {
TreeSetStudent ts=new TreeSetStudent();
for(int i=0;i10;i++) {
Student stu=new Student();
stu.setName("student"+i);
stu.setSno(170201+i);
stu.setScore(90+new Random().nextInt(10));
ts.add(stu);
}
for(Student stu:ts) {
System.out.println(stu);
}
}
}
最后贴一个运行结果
一道Java编程题
public class Person {
private static String name;
private static String sex;
private static int age;
Person(String name, int age) {
this.name = name;
this.age = age;
}
public void print() {
System.out.print("名字:" + name + " 性别:" + sex + " 年龄:" + age + " ");
}
}
public class Student extends Person {
private static String school;
private static String department;
private static String studentno;
Student(String name, int age, String school, String department,
String studentno) {
super(name, age);
this.school = school;
this.department = department;
this.studentno = studentno;
}
public void print() {
super.print();
System.out.println("学校是:" + school + " 系是:" + department + " 学号是:"
+ studentno);
}
}
java的一道编程题
因为你的java文件定义了package ch3;
应该是你的ch3文件夹里面还有其它的文件定义了名为Circle的类。
你可以再新建一个包,把它放在那个包里面(当然package ch3也要改成对应的包名,不然会报错),就没有这个问题了。
java大赛的一道编程题
public class ToListT {
private ListT list = new ArrayListT();
@SuppressWarnings({ "rawtypes", "unchecked" })
public static ToList create(Object... vs) {
ToList toList = new ToList();
toList.add(vs);
return toList;
}
@SuppressWarnings("unchecked")
public ToListT add(T... vs) {
if (vs != null) {
for (T v : vs) {
list.add(v);
}
}
return this;
}
public ListT toList() {
return list;
}
public static void main(String[] args) {
ToListString toList1 = new ToListString();
// 往toList1里添加元素
toList1.add("a", "b");
// 可以一次添加多个元素,而且add方法能以串式方式调用
toList1.add("c", "d", "e").add("f").add("g", "h", "i", "j");
// 添加完后,将元素导出成一个List
java.util.ListString list1 = toList1.toList();
//
// 这段代码检测list1的内容
if (list1.size() != 10) {
throw new RuntimeException();
}
java.util.ListInteger list2 = ToList.create(0, 1, 2).add(3, 4)
.add(0, 1).toList();
//
// 以下代码检测list2的内容
int[] ia = { 0, 1, 2, 3, 4, 0, 1 };
for (int i = 0; i 7; i++) {
if (list2.get(i) != ia[i]) {
throw new RuntimeException();
}
}
}
}