JAva-受講実績(クラスで実現)
JAva-受講実績(クラスで実現)
テーマの詳細
また試験があって、今度の試験の人数は特に多くて、試験が終わった後で、成績の統計は1件のとても重要な事です.先生たちは学生の成績に関心を持っていたので、学生の成績を学生の名前で並べ(辞書の順番で、名前はすべて小文字で、小さいから大きいまで並べ)、各点数段の人数と満点の学生を統計しました.
入力形式:
出力フォーマット:
サンプル:
コードは次のとおりです.
方法1:ArrayListで
方法2:自己配列で
END
テーマの詳細
また試験があって、今度の試験の人数は特に多くて、試験が終わった後で、成績の統計は1件のとても重要な事です.先生たちは学生の成績に関心を持っていたので、学生の成績を学生の名前で並べ(辞書の順番で、名前はすべて小文字で、小さいから大きいまで並べ)、各点数段の人数と満点の学生を統計しました.
入力形式:
: n (n<=130000 )
n : , (30 ), (1~150 )
出力フォーマット:
1~9 10~19 20~29 30~39 40~49 50~59 60~69 70~79 80~89 90~99 100~109 110~119 120~129 130~139 140~149 ( , 0 )
n , n ( )
x( 0)( x 10000)
x ( x 0 ‘No’)( )
: , 。 0 150 。
サンプル:
:
3
abc 50
ab 85
bc 55
:
0 0 0 0 0 2 0 0 1 0 0 0 0 0 0
ab 85
abc 50
bc 55
0
No
コードは次のとおりです.
方法1:ArrayListで
public class Student {
private String name;
private int mark;
public Student() {
}
public Student(String name, int mark) {
this.name = name;
this.mark = mark;
}
public void setName(String name) {
this.name = name;
}
public String getName() {
return name;
}
public void setMark(int mark) {
this.mark = mark;
}
public int getMark() {
return mark;
}
}
import java.util.ArrayList;
import java.util.Scanner;
public class StudentTest {
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
ArrayList array = new ArrayList();
int n = sc.nextInt();
int[] a = new int[16];
int count = 0;
for (int i = 0; i < n; i ++){
addStudent(array);
a[array.get(i).getMark() / 10]++;
if (array.get(i).getMark() == 150)
count ++;
}
for (int i = 0; i < 15;i ++){
if (i == 14)
System.out.println(a[i]);
else System.out.print(a[i] + " ");
}
getStudent(array, count);
}
public static void addStudent(ArrayList array) { //
Scanner sc = new Scanner(System.in);
Student s = new Student();
String name = sc.next();
int mark = sc.nextInt();
s.setName(name);
s.setMark(mark);
array.add(s);
}
public static void sortStudent(ArrayList array) { //
for (int i = 0; i < array.size(); i ++) {
for (int j = i + 1; j < array.size(); j ++){
if (array.get(i).getName().compareTo(array.get(j).getName()) > 0){
Student s = array.set(i, array.get(j));
array.set(j,s);
}
}
}
for (int i = 0; i < array.size(); i ++)
System.out.println(array.get(i).getName() + " " + array.get(i).getMark());
}
public static void getStudent(ArrayList array, int count) { //
sortStudent(array);
if (count == 0) {
System.out.println(0);
System.out.println("NO");
}else {
System.out.println(count);
for (int i = 0; i < array.size(); i ++){
if (array.get(i).getMark() > 149)
System.out.print(array.get(i).getName() + " ");
}
}
}
}
方法2:自己配列で
import java.util.Scanner;
public class StudentTest {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int[] a = new int[16];
int count = 0;
Student[] array = new Student[n];
for (int i = 0; i < n; i++) {
array[i] = addStudent();
if (array[i].getMark() == 150)
count ++;
a[array[i].getMark() / 10] ++;
}
for (int i = 0; i < 15; i++) {
if (i == 14)
System.out.println(a[i]);
else System.out.print(a[i] + " ");
}
getStudent(array, count);
}
public static Student addStudent() {
Scanner sc = new Scanner(System.in);
Student s = new Student();
String name = sc.next();
int mark = sc.nextInt();
s.setName(name);
s.setMark(mark);
return s;
}
public static void sortStudent(Student[] array) {
for (int i = 0; i < array.length; i++) {
for (int j = i + 1; j < array.length; j++) {
if (array[i].getName().compareTo(array[j].getName()) > 0) {
Student s = array[i];
array[i] = array[j];
array[j] = s;
}
}
}
for (int i = 0; i < array.length; i++)
System.out.println(array[i].getName() + " " + array[i].getMark());
}
public static void getStudent(Student[] array, int count) {
sortStudent(array);
if (count == 0) {
System.out.println(0);
System.out.println("NO");
} else {
System.out.println(count);
for (int i = 0; i < array.length; i++) {
if (array[i].getMark() > 149)
System.out.print(array[i].getName() + " ");
}
}
}
}
END