開發工具與關鍵技術: 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 層次結構 中的根接口。 |
|
強行對某個對象 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;
}
}
效果如下: