(자바)배열과 함수호출까지 공부한 초보입니다 소스보시고 고칠부분좀알려주세요
연분홍
import java.io.*;
public class Round0400 {
public static String name[] = new String[100];
public static int num[] = new int[100];
public static int java[] = new int[100];
public static int cp[] = new int[100];
public static int i = 0, n =0, j=0, a = 0, k =0, m = 0, b = 0, ad =0;
public static void main(String args[])throws java.io.IOException {
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
int menu = 0;
do{
System.out.println( ========================);
System.out.println(| 1.성적표입력 |);
System.out.println(| 2.성적표보기 |);
System.out.println(| 3.학생성적추가 |);
System.out.println(| 4.종료 |);
System.out.println( ========================);
System.out.print(메뉴의 번호를 선택하세요(1-4));
menu = Integer.parseInt(in.readLine());
if(menu == 1){
inputpoint();
}
else if(menu==2){
outputpoint();
}
else if(menu==3){
add();
}
else if(menu==4){
end();
}
else {
System.out.println(잘못된입력입니다);
}
}while(a==0);
}
public static void inputpoint()throws java.io.IOException{
BufferedReader in
= new BufferedReader(new InputStreamReader(System.in));
System.out.print(학생수를 입력하세요);
n = Integer.parseInt(in.readLine());
for(i = 1; i = n; i++){
System.out.println([성적 입력]);
System.out.print(이름:);
name[i] = in.readLine();
System.out.print(학번:);
num[i] = Integer.parseInt(in.readLine());
System.out.print(자바점수);
java[i] = Integer.parseInt(in.readLine());
System.out.print(C언어점수);
cp[i] = Integer.parseInt(in.readLine());
}
return;
}
public static void outputpoint()throws java.io.IOException{
BufferedReader in
= new BufferedReader(new InputStreamReader(System.in));
do{
System.out.println([학생리스트]]);
for(k = 1; k = n; k++){
System.out.println(k+ . + name[k]);
}
System.out.println([성적을보고싶은학생의 번호를적으세요]);
j = Integer.parseInt(in.readLine());
System.out.println([성적표 출력]);
System.out.println(이름은 : + name[j]);
System.out.println(학번은 : + num[j]);
System.out.println(자바점수 : + java[j]);
System.out.println(C언어점수 : + cp[j]);
System.out.print(계속 성적을 조회하시려면 1,그만보시려면 0을 누르세요);
m = Integer.parseInt(in.readLine());
}while(m == 1);
return;
}
public static void add()throws java.io.IOException{
BufferedReader in
= new BufferedReader(new InputStreamReader(System.in));
System.out.println([학생성적추가하기]);
System.out.print([몇명을 추가하실껀가요?]);
ad = Integer.parseInt(in.readLine());
for(b = 1; b=ad; b++)
{
System.out.println([성적 입력]);
System.out.print(이름:);
name[n+b] = in.readLine();
System.out.print(학번:);
num[n+b] = Integer.parseInt(in.readLine());
System.out.print(자바점수);
java[n+b] = Integer.parseInt(in.readLine());
System.out.print(C언어점수);
cp[n+b] = Integer.parseInt(in.readLine());
}
n = n + ad;
return;
}
public static int end(){
System.out.println(종료합니다);
return a = 1;
}
}
이렇게 짰는데 오류는안나는데 실행시켜보시고 어떤걸 고치는게 좋을지좀 말씀좀해주세요 ; 열공하고있는 학생에게
조언도좀 부탁드립니다
-
민구
1. 전부 스태틱 메서드 이네요. 일단 그걸 고쳐서 객체 생성후 그 객체의 메서드를 호출하는 방식으로
바꿔보세요.
2. 그게 다 되면 클래스를 나누어서 메인 메서드가 있는 클래스, 그리고 성적 관련 클래스 그렇게
2개로 나누어 보세요.