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;
}
}

效果如下:

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章