Cute Happy Ghost
본문 바로가기
JAVA/Java

20200928_8 클래스분리

by JENN_tech7 2020. 9. 28.
728x90
SMALL
package sample;
import java.io.*;
class Sample2
{
    public static void main(String[] args) throws IOException
    {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        System.out.print("시험 응시자 수를 입력 : ");       
        String str = br.readLine();
        int num = Integer.parseInt(str);
        //배열 크기 변함이 없어야한다.
        final int SIZE =10; //밑에서 변할 수 없다
        int [] test = new int[num];
               
        for(int i=0; i<num; i++){
            System.out.print("점수를 입력 : ");
            str = br.readLine();
            int tmp = Integer.parseInt(str);
            test[i] = tmp;
        }
        
        for(int i=0; i<num; i++){
            System.out.println((i + 1) + "번째 사람의 점수는 "+ test[i] );
        }
    }
}

new int[SIZE]로도 할 수 있다

 

 

 

System.in 키보드랑 연결시키는

 

 

 

 

 

 

 

 

 

 

 

배열은 참조변수옆에 안붙음

 

 

 

값지정해놨는데 저렇게해도 되는구나 !

 

 

 

 

 

 

  • 클래스

 

package sample;
import java.util.Scanner;

//Info in = new Info();


class Info{
	String name = "비어있음" ;
	int age = 0;
	
	public Info() {
		System.out.println("생성자" + name + ", " + age);
	}
	
	void input() {
		Scanner in = new Scanner(System.in);
		System.out.println("이름 입력 : ");
		name = in.next();
		System.out.println("나이 입력 : ");
		age = in.nextInt();
	}
	
	void print() {
		System.out.println("ptint() : " + name + ", " + age);
	}
	
}
public class Sample5 {

	public static void main(String[] args) 
	{
		Info in = new Info();
	
	}

}

 

 

 

 

 

package sample;
import java.util.Scanner;

//Info in = new Info();


class Info{
	String name = "비어있음" ;
	int age = 0;
	
	public Info() {
		System.out.println("생성자 : " + name + ", " + age);
	}
	
	void input() {
		Scanner in = new Scanner(System.in);
		System.out.print("이름 입력 : ");
		name = in.next();
		System.out.print("나이 입력 : ");
		age = in.nextInt();
		print();
	}
	
	void print() {
		System.out.println("print() : " + name + ", " + age);
	}
	
}
public class Sample5 {

	public static void main(String[] args) 
	{
		Info info = new Info();
	
		info.print();
		info.input();
	}

}

쓰라고해서 쓰긴썼는데 이게 머선 말이고..

 

 

 

 

 

 

오저렇게 끝나면 호출, 끝나면 호출하니까 메인은 한줄로 깔끔하게 되네

 

 

 

생성자는 꼭 필수

멤버필드랑 메소드는 선택

클래스는 대문자

나머지는 소수점

생ㅅ성할때는 사람진 4ㅡㄴㄴ 디ㅗ돌려줌

 

생성자와

print 출력

 

 

 

 

만약 print();를 위에 올리면 null값이 나옴

맨밑에 하면 잘 나옴 

main을 줄일수있음 new Test(); <로 

 

 

 

 

  • void는 제약없는(반환없는)

무조건 main부터 프로그램시작됨 main을 단순화시킬수록 좋은 코드

 

 

 

  • 클래스로 분리하고 메인을 짧게
package sample;
import java.util.Scanner;
class aaa {
	int[] num = new int[2];
	int sum = 0;
	double avg;

	void input(){
		Scanner in = new Scanner(System.in);
		for (int i = 0; i < num.length; i++) {
			System.out.print("성적을 입력하시오");
			num[i] = in.nextInt();
		}
	}

	void sumCalc() {
		for (int i = 0; i < num.length; i++) {
			sum += num[i];
		}
	}
	void sumPrint() {
		System.out.println("합계 " + sum);
	}
	void avgPrint() {
		sumCalc();/////
		avg = sum /5.0;
		System.out.println("성적 평균 " + avg);
	}

}
public class Array3_1 {
	public static void main(String[] args)
	{
		aaa a = new aaa();
		
		int menu = 0;
		while(true) {
			System.out.println("\n.입력, 2.평균, 3.종료");
			//menu 키보드로 입력받기 추가
			if(menu ==1) a.input();
			if(menu ==2) a.avgPrint();
			if(menu ==3) break;
		}
	}

}

aaa a = new aaa();

클래스이름 별명 = new 클래스이름

헷갈려~~~~

 

이렇게 클래스를 따로해도된다구한다

그러면 ? 더 줄일 수 있는거지!

하... 왜줄여야하는데?!!! 그냥 긴대로 살면안돼??? 

 

 

 

728x90
LIST

댓글