1. 한 명의 학생 정보를 관리하는 Student 클래스를 이용한다. 콘솔창을 통해 5명의 학생에 대한정보 중 학번, 이름, 국어, 영어, 수학 정보를 입력 받아 ArrayList에 저장하고 학번, 이름, 총점, 평균을 출력하는 프로그램을 작성하시오.
2. 한 명의 학생 정보를 관리하는 Student 클래스를 이용한다. 콘솔창을 통해 5명의 학생에 대한정보 중 학번, 이름, 국어, 영어, 수학 정보를 입력 받아 TreeSet에 저장하고 학번, 이름, 총점, 평균을 출력하는 프로그램을 작성하시오. 제네릭스 TreeSet<Stduent>을 이용하시오.
<참고> Student 클래스는 Comparable 인터페이스를 구현하여야 한다.
3. 한 명의 학생 정보를 관리하는 Student 클래스를 이용한다. 콘솔창을 통해 5명의 학생에 대한정보 중 학번, 이름, 국어, 영어, 수학 정보를 입력 받아 Hashtable에 저장하는데, 학번을 키로 지정하여 학생의 정보를 검색할 수 있도록 한다. 제네릭스 Hashtable <String, Student>를 이용하시오.
-------------------------------------------------------답------------------------------------------------------------
1. 한 명의 학생 정보를 관리하는 Student 클래스를 이용한다. 콘솔창을 통해 5명의 학생에 대한정보 중 학번, 이름, 국어, 영어, 수학 정보를 입력 받아 ArrayList에 저장하고 학번, 이름, 총점, 평균을 출력하는 프로그램을 작성하시오.
package ex;
import java.util.ArrayList;
import java.util.Scanner;
public class ex01 {
final static int haksang = 5;
public static void main(String[] args) {
ArrayList data = method();
System.out.println("학번\t이름\t총점\t평균");
int j = 0;
for (int i = 0; i < data.size(); i++) {
if (j <1) {
System.out.print(data.get(i) + "\t");
} else {
j = 0;
System.out.println();
System.out.print(data.get(i) + "\t");
}j++;
}
}
static ArrayList method() {
Scanner sc = new Scanner(System.in);
String name;
int kor, eng, math, hakbun;
ArrayList data = new ArrayList(haksang);
Student1 st = new Student1();
for (int i = 0; i < haksang; i++) {
System.out.println("학번을 입력하시오");
hakbun = sc.nextInt();
System.out.println("이름을 입력하시오");
name = sc.next();
System.out.println("국어점수을 입력하시오");
kor = sc.nextInt();
System.out.println("영어점수을 입력하시오");
eng = sc.nextInt();
System.out.println("수학점수을 입력하시오");
math = sc.nextInt();
st = new Student1(hakbun, name, kor, eng, math);
st.total();
data.add(st);
}
return data;
}
}
class Student1 {
String name;
int kor, eng, math, hakbun;
int sum;
double avg;
Student1() {
}
Student1(int hakbun, String name, int kor, int eng, int math) {
this.hakbun = hakbun;
this.name = name;
this.kor = kor;
this.eng = eng;
this.math = math;
}
void total() {
sum = kor + eng + math;
avg = sum / 3;
}
public String toString() {
return hakbun + "\t" + name + "\t" + sum + "\t" + avg;
}
}
2. 한 명의 학생 정보를 관리하는 Student 클래스를 이용한다. 콘솔창을 통해 5명의 학생에 대한정보 중 학번, 이름, 국어, 영어, 수학 정보를 입력 받아 TreeSet에 저장하고 학번, 이름, 총점, 평균을 출력하는 프로그램을 작성하시오. 제네릭스 TreeSet<Stduent>을 이용하시오.
<참고> Student 클래스는 Comparable 인터페이스를 구현하여야 한다.
package ex;
import java.util.Scanner;
import java.util.TreeSet;
public class ex02 {
final static int haksang = 5;
public static void main(String[] args) {
String name;
int kor, eng, math, hakbun;
Scanner sc = new Scanner(System.in);
Student students = new Student();
TreeSet<Student> tree = new TreeSet();
for (int i = 0; i < haksang; i++) {
System.out.println("학번을 입력하시오");
hakbun = sc.nextInt();
System.out.println("이름을 입력하시오");
name = sc.next();
System.out.println("국어점수을 입력하시오");
kor = sc.nextInt();
System.out.println("영어점수을 입력하시오");
eng = sc.nextInt();
System.out.println("수학점수을 입력하시오");
math = sc.nextInt();
students = new Student(hakbun, name, kor, eng, math);
students.total();
tree.add(students);
}
System.out.println("학번\t이름\t총점\t평균");
int j = 0;
for (Student s : tree) {
Student sd = s;
if (j < 1) {
System.out.print(sd.gethakbun() + "\t" + sd.getname() + "\t"
+ sd.getsum() + "\t" + sd.getavg());
} else {
j=0;
System.out.println();
System.out.print(sd.gethakbun() + "\t" + sd.getname() + "\t"
+ sd.getsum() + "\t" + sd.getavg());
}
j++;
}
}
}
class Student implements Comparable {// Comparable이라고 자바내장된 것이 있다.
private String name;
private int kor, eng, math, hakbun;
int sum;
double avg;
Student() {
}
public Student(int hakbun, String name, int kor, int eng, int math) {
this.name = name;
this.hakbun = hakbun;
this.kor = kor;
this.eng = eng;
this.math = math;
}
void total() {
sum = kor + eng + math;
avg = sum / 3;
}
public int getsum() {
return sum;
}
public double getavg() {
return avg;
}
public String getname() {
return name;
}
public int gethakbun() {
return hakbun;
}
public int getkor() {
return kor;
}
public int geteng() {
return eng;
}
public int getmath() {
return math;
}
public String toString() {
return hakbun + "\t" + name + "\t" + sum + "\t" + avg;
}
public int compareTo(Object obj) {
Student st = (Student) obj;
if (hakbun < st.hakbun)
return -1;
else if (hakbun > st.hakbun)
return 1;
else
return 0;
}
}
3. 한 명의 학생 정보를 관리하는 Student 클래스를 이용한다. 콘솔창을 통해 5명의 학생에 대한정보 중 학번, 이름, 국어, 영어, 수학 정보를 입력 받아 Hashtable에 저장하는데, 학번을 키로 지정하여 학생의 정보를 검색할 수 있도록 한다. 제네릭스 Hashtable <String, Student>를 이용하시오.
//정렬...
package ex;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Scanner;
public class ex03 {
final static int haksang = 5;
final static int lasthakbun = 100000;
public static void main(String[] args) {
String name;
int kor, eng, math, hakbun;
Students st = new Students();
HashMap map = new HashMap();
Scanner sc = new Scanner(System.in);
for (int i = 0; i < haksang; i++) {
System.out.println("학번을 입력하시오 (1~100000)");
hakbun = sc.nextInt();
System.out.println("이름을 입력하시오");
name = sc.next();
System.out.println("국어점수을 입력하시오");
kor = sc.nextInt();
System.out.println("영어점수을 입력하시오");
eng = sc.nextInt();
System.out.println("수학점수을 입력하시오");
math = sc.nextInt();
st = new Students(hakbun, name, kor, eng, math);
st.total();
map.put(hakbun, st);
}
System.out.println("학번\t이름\t총점\t평균");
int j = 0;
int i = 0;
while (true) {
if (i < lasthakbun) {
if (map.get(i) != null) {
if (j < 1) {
System.out.print(map.get(i) + "\t");
} else {
j = 0;
System.out.println();
System.out.print(map.get(i) + "\t");
}
j++;
}
i++;
} else
break;
}
}
}
class Students {
String name;
int kor, eng, math, hakbun;
int sum;
double avg;
Students() {
}
Students(int hakbun, String name, int kor, int eng, int math) {
this.hakbun = hakbun;
this.name = name;
this.kor = kor;
this.eng = eng;
this.math = math;
}
void total() {
sum = kor + eng + math;
avg = sum / 3;
}
public String toString() {
return hakbun + "\t" + name + "\t" + sum + "\t" + avg;
}
}
'it > Java' 카테고리의 다른 글
호텔이라는 배열안에 사람객체 집어넣기 (0) | 2015.06.17 |
---|---|
간단한 자바문제 배열 (0) | 2015.01.06 |
간단한 자바문제 메서드 (0) | 2015.01.06 |
간단한 자바문제 제어문 (0) | 2015.01.06 |
자바 기초 입,출력 연산자, if문 (0) | 2014.08.19 |