Java语法案例
开发工具与关键技术: **myeclipse java语法 **;
作者:刘佳明
** ****本文是使用Java的一些类包,进行的Java语法案例,没有任何计算机基础的请先了解一些基础的Java知识:https://blog.csdn.net/try\_and\_do/article/details/79784520**
案例使用的开发工具是**myeclipse** 其他的开发工具以上可以实现的,只是建包的布可能不太一样:
本案例想要实现的是:定义一个班级,班级里面有四十个同学,每个同学的编号位xx班+00X;现在需要打印出来一份同学们的考试成绩,按照成绩的高低排列下来:
首先我们需要定义一个学生的类:
public class Student {
public int ClassName;
public String StudentName;
public int StudentNumber;
public Student(int ClassName,String StudentName,int StudentNumber){
this.ClassName=ClassName;
this.StudentName=StudentName;
this.StudentNumber=StudentNumber;
}
//定义类的成员方法
public int getClassName() {
return ClassName;
}
public void setClassName(int className) {
ClassName = className;
}
public String getStudentName() {
return StudentName;
}
public void setStudentName(String studentName) {
StudentName = studentName;
}
public int getStudentNumber() {
return StudentNumber;
}
public void setStudentNumber(int studentNumber) {
StudentNumber = studentNumber;
}
}
我们的console输出包的代码如下:
//import java.xx.xx java内部已经包装好的内部类,直接调用就好了:
Collection<E> | Collection 层次结构 中的根接口。 |
Comparator<T> | 强行对某个对象 collection 进行整体排序 的比较函数。 |
import java.util.ArrayList;// ArrayList 集合类
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
import java.util.Random;//给我们生成一个定义的随机数字
public class StudentText {
public static void main(String[] args) {
List<Student> StudentList=new ArrayList<Student>();
int className;
String StudentName;
int StudentNumber;
for(int i=0;i<40;i++){
Student Student=new Student(0, null, 0);
className=180301+i;
if(i<10){
StudentName="0"+i;
}
else{
StudentName=""+i;
}
Student.setClassName(className);
Student.setStudentName(StudentName);
Random Ran=new Random();
StudentNumber=Ran.nextInt(50)+50;
Student.setStudentNumber(StudentNumber);
System.out.println("班级:"+Student.ClassName+"====\t同学:"+Student.StudentName+"====\t成绩:"+Student.StudentNumber); StudentList.add(Student);
}
System.out.println("//");
System.out.println(StudentList.size());
Collections.sort(StudentList,new Comparator<Student>(){
@Override
public int compare(Student o1, Student o2) {
// TODO Auto-generated method stub
//成绩相同时学号较小的先打印
if(o1.getStudentNumber()==o2.getStudentNumber()){
return o1.getClassName()-o2.getClassName();
}else{
return o1.getStudentNumber()-o2.getStudentNumber();
}
}
});
for(int i=0;i<StudentList.size();i++){
Student Student=StudentList.get(i);
System.out.println("班级:"+Student.getClassName()+"====\t同学:"+Student.getStudentName()+"====\t成绩:"+Student.getStudentNumber());
}
/总结: 代码思路没有问题 但是需要考虑到一个集合 之间是否static
//共享变量的问题 要不然 很容易集合中所有共享的变量值都相等 a==0,b==0,c==0;
}
}
效果如下:
还没有评论,来说两句吧...