7-2 sdust-Java-학생 성적 읽기 및 정렬(8점)
2734 단어 기초 문제
7-2 sdust-Java-학생 성적 읽기 및 정렬(8점)
**
1) 키보드에서 여러 줄의 학생 성적 정보를 입력하고 각 줄은 한 학생의 한 과목의 성적을 표시하며 마지막 줄은'exit'로 끝난다.각 줄의 텍스트 형식은 학번, 이름, 과정명, 성적입니다.프로그램은 학생과 그 성적을 읽을 수 있으며 같은 학번을 가진 학생과 그 성적을 하나의Student(학생류)류 대상의 목록(List)stuList로 읽을 수 있다.2) 프로그램은 학생과 그 성적의 데이터를 읽은 후 stulist의 학생을 평균 성적 하락 순서에 따라 배열(평균 성적이 같으면 학번 숫자가 작은 것이 앞에 배열)하고 정렬된 학생의 학번, 이름과 성적을 출력할 수 있다.
입력 형식: 여러 줄이 표시하는 학생 성적, 각 줄은 한 학생의 이름, 학번, 과정명, 성적(정수)이다.불동업자는 같은 학생(학번이 같은 학생은 같은 학생)의 다른 과정의 성적이 될 수 있다.
출력 양식: 학생 평균 성적 하락 순서(평균 성적이 같은 학번이 작은 것이 앞에 있음)에 따라 학생 순위(구체적인 출력 양식은 예시를 참조).
입력 예: 소명,2001,Java,88소강,2002,Java,78소정,2003,Java,56소홍,2004,Java,85소명,2001,Python,84소강,2002,Python,98소정,2003,JavaWeb,66소홍,2004,Algorithm,87exit 출력 예: No1:2002,소강No2:2001,소명No3:2004,소홍No4:2003,소정
분석: 자체 문제는 어려운 문제가 아니다. 문제의 관건은 입력한 학생 정보에 대한 판단이다. 만약에 학생 정보가 이미 존재한다면 우리는 그것을 이미 있는 집합에 추가해야 하고 존재하지 않는다면 새로운 대상을 만들고 그것을 집합에 넣어야 한다.(중간에 설명된 부분은 당초 디버깅을 할 때 추가된 디버깅 지점과 디버깅을 위한 방법)
import java.util.*;
class Student implements Comparable{
private String name,id;
private int subject=1;
private int score;
private double sum=0;
Student(){}
Student(String name,String id,int score){
this.name=name;
this.id=id;
this.score=score;
}
public String getid(){
return this.id;
}
public void subjectadd() {
this.subject++;
}
public void scoreadd(int score){
this.score=this.score+score;
}
public String getname() {
return this.name;
}
public void sum() {
this.sum=this.score/this.subject;
}
/*public int rescore() {
return this.score;
}*/
/* public double getsum(){
return this.sum;
}*/
public int compareTo(Student o1){
Student one = (Student) o1;
if(this.sum-one.sum!=0)
return (int)(one.sum-this.sum);
else
return this.id.compareTo(one.id);
}
}
public class Main{
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
List list =new ArrayList();
int i,flag=0;
String k;
String[] and =new String[5];
while(sc.hasNext())
{
k=sc.next();
and=k.split(",");
if(k.compareTo("exit")==0)
break;
for(i=0;i
import java.util.Arrays; import java.util.Scanner; import java.util.*;
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Pat(Advanced Level)Practice--1062(Talent and Virtue)Now given the grades of talent and virtue of a group of people, you are supposed to rank them according to Sima Guang's ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.