當前位置:首頁 » 考試成績 » java要求按學生成績將學生排序

java要求按學生成績將學生排序

發布時間: 2021-02-14 00:22:04

A. Java編程 要求:(1)輸入某班級學生的姓名、分數; (2)對(1)的分數進行排序,按分數從大到小輸出

import java.io.File;
import java.io.FileReader;
import java.io.IOException;
import java.io.Reader;

public class Counter {
public static void main(String args[]) throws IOException{
Reader reader=new FileReader(new File("D:/a.txt"));
int length=-1;
char[] buf=new char[512];
StringBuilder builder=new StringBuilder();

int phrase=0;
int blank=0;
while((length=reader.read(buf))!=-1){

builder.append(buf, 0, length);
}
reader.close();

int i=0;
for(;i<builder.length()-1;i++){
if(builder.charAt(i)==' '||.charAt(i)=='\t') {
blank ++;
}
//this will depends on OS, linx unix \r but windows is \r\n, i believe you are in windows
if(builder.charAt(i)=='\r'&&builder.charAt(i+1)=='\n'){
phrase ++;
}
}
if(builder.charAt(i)==' '||builder.charAt(i)=='\t') {
blank ++;
}

System.out.println("total chars: "+builder.length());
System.out.println("total words: "+builder.toString().split(" ").length);
System.out.println("total blanks: "+blank);
System.out.println("total phrases: "+phrase);
}
}

B. java實列化十個學生,按分數排序

publicclassDemo{
publicstaticvoidmain(Stringargs[])
{
Student[]s=newStudent[10];
for(inti=0;i<s.length;i++){
s[i]=newStudent((101+i)+"","Tom"+(i+1),(int)(Math.random()*100));
}

System.out.println("未排序前:");
print(s);
for(inti=0;i<s.length;i++){
for(intj=i;j<s.length;j++){
if(s[i].getChengji()<s[j].getChengji()){
Studentss=s[i];
s[i]=s[j];
s[j]=ss;
}
}
}
System.out.println("排序後:");
print(s);
}

privatestaticvoidprint(Student[]s){
for(Studentas:s)
System.out.println(as);

}
}

classStudent{
privateStringid;
privateStringname;
privatedoublechengji;

publicStudent(Stringid,Stringname,doublechengji){
this.id=id;
this.name=name;
this.chengji=chengji;
}

publicdoublegetChengji(){
returnthis.chengji;
}

publicStringtoString(){
return"編號:"+this.id+",名字:"+this.name+",成績:"+this.chengji;
}

}

C. 用JAVA程序編寫:輸入10個學生的成績,分數由高到低排序

package test;

import java.util.Scanner;

public class test{

public static void main(String[] args)
{
test ts = new test();
Scanner sc = new Scanner(System.in); //Scanner類的構造方法。
int a[] = new int[10];
System.out.println("輸入10個同學的成績,中間以空格隔開");
for (int i = 0; i < a.length; i++) {
a[i] = sc.nextInt(); //依次輸入數字中間以空格隔開。
}

test.maopao(a); //調用排序方法。

for (int i = 0; i < a.length; i++)
System.out.println(a[i]);
}

public static void maopao(int array[]) { //定義冒泡排序方法。
int i;
int k;
for (i = 0; i < array.length; i++) {
for (k = 0; k < array.length - 1 - i; k++) {
if (array[k] < array[k + 1]) {
int temp = array[k];
array[k] = array[k + 1];
array[k + 1] = temp;
}
}
}
}
}

D. java中調用sort 使學生成績由小到大排序 代碼怎麼寫

根據你這要求,只有一個辦法,但是有點約束:

import java.util.Arrays;
import java.util.Collections;
public class Test {

public static void main(String[] args) {
//注意,只能用對象類型,不可版以使用簡單類型 如權int[] num則報錯
Integer[] num = {5,8,3,9,1};
//如果是num是List或 Set,則用Collections.sort(num,Collections.reverseOrder());
Arrays.sort(num,Collections.reverseOrder());
for(int i=0;i<num.length;i++){
System.out.println(num[i]);
}
}
}

E. Java製作學生排序系統,通過學生編號,姓名,課程編號,成績排序,讀文件獲取信息,根據文件信息進行排序

先簡單的分析過程,然後貼出代碼.

一:分析文件

  1. 文件信息第一行 "5" 表示後面有5條信息

  2. 學生內信息有5行,每一行使容用了逗號隔開

  3. 學生信息的後面是排序的規則1代表 按照第一列排序,2代表按照第二列排序,..A代表正序,D代表倒序.

  4. 關於排序還要注意分析文檔,比如按照課程名排序,如果 課程名相同,那麼 就按照成績從低到高排列

  5. 文件信息末尾行 "0" 表示文檔結束

二:關於排序的語法;

1: 傳統的排序語法, 可以使用匿名內部類, 但是顯得比較繁瑣,

2:java8後可以使用流處理加上lambda表達式來簡化代碼.

三: 代碼到網盤下載網路網盤代碼下載7天有效

F. 用java定義學生類(學號、姓名、成績)。用列表list存放班級學生信息。然後按照成績排序,並輸出學生信息

import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;

public class Admin {

public static void main(String... args) {
List data = new ArrayList();

Student s0 = new Student();
s0.setNo("000");
s0.setName("a");
s0.setChengji(100.0);
data.add(s0);

Student s1 = new Student();
s1.setNo("001");
s1.setName("b");
s1.setChengji(99.0);
data.add(s1);

Student s2 = new Student();
s2.setNo("002");
s2.setName("c");
s2.setChengji(98.0);
data.add(s2);

System.out.println("排序前");
show(data);

System.out.println("排序後");
sort(data);
show(data);
}

private static void sort(List data) {
Collections.sort(data, new Comparator() {

public int compare(Object o1, Object o2) {
Student s1 = (Student) o1;
Student s2 = (Student) o2;
return (int) (s1.getChengji() - s2.getChengji());
}
});
}

private static void show(List data) {
for (int i = 0; i < data.size(); i++) {
System.out.println(data.get(i));
}
}
}

class Student {

private String no;

private String name;

private double chengji;

public double getChengji() {
return chengji;
}

public void setChengji(double chengji) {
this.chengji = chengji;
}

public String getName() {
return name;
}

public void setName(String name) {
this.name = name;
}

public String getNo() {
return no;
}

public void setNo(String no) {
this.no = no;
}

public String toString() {
return "學號:" + no + ",姓名:" + name + ",成績:" + chengji;
}
}
結果
排序前
學號:000,姓名:a,成績:100.0
學號:001,姓名:b,成績:99.0
學號:002,姓名:c,成績:98.0
排序後
學號:002,姓名:c,成績:98.0
學號:001,姓名:b,成績:99.0
學號:000,姓名:a,成績:100.0

G. JAVA有關學生成績排序的問題

return name+"\t"+id+"\t"+sex+grade; grade 是什麼意思
還有為什麼定義內部類?sudent 是sorts的內部類
math 是什麼意思?沒聲明也沒調用啊
students[0]=new Student("xiaoming",19,"male");
students[1]=new Student("xiaoli",20,"male");//兩位學生
沒有這Student()構造方法

一下是我給你改的
如果要排序的話價格方法就行了
在方法里實現sort(student)

package com.text;

public class Sorts {

class Student {
private String name;
private int id;
private String sex;
// 這里------
private Grade g[] = new Grade[3];// 三門課
// 這里------

public Student() {

}

// 這里------
public Student(String name, int id, String sex) {
this.name = name;
this.id = id;
this.sex = sex;
}

public String getName() {
return name;
}

public void setName(String name) {
this.name = name;
}

public int getid() {
return id;
}

public void setid(int id) {
this.id = id;
}

public String getSex() {
return sex;
}

public void setSex(String sex) {
this.sex = sex;
}

public Grade[] getG() {
return g;
}

public void setG(Grade[] g) {
this.g = g;
}

// 這里------
public String toString() {
return name + "\t" + id + "\t" + sex + "\t" +g[0].toString()+"\t" +g[1].toString()+"\t" +g[0].toString();
}

}// class Student

class Grade {
private int grade;
private int value;

public Grade(int grade, int value) {
this.grade = grade;
this.value = value;
}

public int getGrade() {
return grade;
}

public void setgrade(int grade) {
this.grade = grade;
}

public int getValue() {
return value;
}

public void setvalue(int value) {
this.value = value;
}

// 這里------
public String toString() {
return "grade:" + this.grade+"\t" + "value:" + this.value;
}

}// class Grade

public static void main(String args[]) {

Student[] students = new Student[2];
// 這里------
students[0] = new Sorts().new Student("xiaoming", 19, "male");
students[1] = new Sorts().new Student("xiaoli", 20, "male");// 兩位學生
Grade[] g = new Grade[3];// 三門成績
g[0]=new Sorts().new Grade(1,3);
g[1]=new Sorts().new Grade(2,4);
g[2]=new Sorts().new Grade(3,4);
students[0].setG(g);
students[1].setG(g);
for (Student student : students)
System.out.println(student);
}// main
}// class sorts

H. java定義一個用於存放學生對象的一維數組StudentInfo要求數組中的學生對象按成績升序排列並輸出數組元素

閑著無聊 送你了
package test;

public class Student {
private String name;
private int age;
public Student(String name,int age){
this.name=name;
this.age=age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}

package test;

import java.util.Arrays;

public class Main {
public static void main(String[] args) {

Student [] studentInfo=new Student[5];
studentInfo[0]=new Student("張", 10);
studentInfo[1]=new Student("張", 9);
studentInfo[2]=new Student("李", 3);
studentInfo[3]=new Student("王1", 7);
studentInfo[4]=new Student("王2", 88);
Student [] newStudentInfo=Main.selectSort(studentInfo);
for(int i=0;i<newStudentInfo.length;i++){
System.out.println(newStudentInfo[i].getName()+":"+newStudentInfo[i].getAge());
}
}
public static Student [] selectSort(Student [] studentInfo){//選擇排序演算法
for (int i=0;i<studentInfo.length-1 ;i++ ){
int min=i;
for (int j=i+1;j<studentInfo.length ;j++ ){
if (studentInfo[min].getAge()>studentInfo[j].getAge()){
min=j;
}
}
if (min!=i){
Student temp=studentInfo[i];
studentInfo[i]=studentInfo[min];
studentInfo[min]=temp;
}
}
return studentInfo;
}
}

I. java根據學生總分按順序排名,怎麼調用排序無法應用。求大神修改!

import java.util.Arrays;

public class Student {

String name,number;
double s1,s2,s3,sum;
//student方法,返回值為一個學生3門課程分數之和
public double Student(String n,String no,double x1,double x2,double x3){
=n;
number=no;
s1=x1;
s2=x2;
s3=x3;
return s1+s2+s3;
}
//main方法
public static void main(String args[]){
Student stu=new Student();//實例化對象
double[] s=new double[5];
//調用stu方法,將分數和給一個double數組
s[0]=stu.Student("Zhangsan","20140001",89,87,90);
s[1]=stu.Student("Lisi","20140002",88,87,90);
s[2]=stu.Student("Wangwu","20140003",89,80,90);
s[3]=stu.Student("Zhaohong","20140004",89,87,78);
s[4]=stu.Student("Gaozi","20140005",81,87,90);
Arrays.sort(s);//排序方法,從小到大
for(int i=0;i<5;i++){
System.out.println(s[i]);
}
}

}

*******************************************
有注釋,應該能看懂

J. 用Java語言寫一個學生成績錄入排序查詢的代碼!

結果:

學生:回2成績答: 0

學生:3成績: 15

學生:1成績: 43

學生:8成績: 45

學生:7成績: 48

學生:0成績: 51

學生:4成績: 69

學生:9成績: 69

學生:5成績: 94

學生:6成績: 98

熱點內容
武漢大學學生會輔導員寄語 發布:2021-03-16 21:44:16 瀏覽:612
七年級學生作文輔導學案 發布:2021-03-16 21:42:09 瀏覽:1
不屑弟高考成績 發布:2021-03-16 21:40:59 瀏覽:754
大學畢業證會有成績單 發布:2021-03-16 21:40:07 瀏覽:756
2017信陽學院輔導員招聘名單 發布:2021-03-16 21:40:02 瀏覽:800
查詢重慶2018中考成績查詢 發布:2021-03-16 21:39:58 瀏覽:21
結業考試成績怎麼查詢 發布:2021-03-16 21:28:40 瀏覽:679
14中醫醫師資格筆試考試成績查分 發布:2021-03-16 21:28:39 瀏覽:655
名著賞析課程標准 發布:2021-03-16 21:27:57 瀏覽:881
北京大學商業領袖高端培訓課程 發布:2021-03-16 21:27:41 瀏覽:919