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

效果如下:

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