java要求按学生成绩将学生排序
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制作学生排序系统,通过学生编号,姓名,课程编号,成绩排序,读文件获取信息,根据文件信息进行排序
先简单的分析过程,然后贴出代码.
一:分析文件
文件信息第一行 "5" 表示后面有5条信息
学生内信息有5行,每一行使容用了逗号隔开
学生信息的后面是排序的规则1代表 按照第一列排序,2代表按照第二列排序,..A代表正序,D代表倒序.
关于排序还要注意分析文档,比如按照课程名排序,如果 课程名相同,那么 就按照成绩从低到高排列
文件信息末尾行 "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