냥쟝
반응형
<java />
public static void main(String[] args) throws IOException { // [한 반에 30명 학생의 이,국,영,수,총,평,등 입력/등수/출력 ] final int STUDENT_COUNT = 30; // 클래스(객체) 배열 Student[] students = new Student[STUDENT_COUNT]; int cnt = 0 ; char con = 'y'; String name; int kor, eng, mat, tot, rank; double avg; Scanner scanner = new Scanner(System.in); do { // 입력. System.out.print("> 이름 국어 영어 수학 정보 입력 ? "); name = getName(); kor = getScore(); eng = getScore(); mat = getScore(); tot = kor + eng + mat; avg = (double)tot/3; rank = 1; students[cnt] = new Student(); // 4 students[cnt].no = cnt + 1; students[cnt].name = name; students[cnt].kor = kor; students[cnt].eng = eng; students[cnt].mat = mat; students[cnt].tot = tot; students[cnt].avg = avg; students[cnt].rank = rank; cnt++; // 1 // System.out.print("> 학생 입력 계속 ? "); con = (char)( System.in.read() ); System.in.skip(System.in.available()); } while ( Character.toUpperCase(con) == 'Y' ); // 등수처리 // 1. 등수 처리하는 메섣 : getRank() // 2. 매개변수 // 3. 리턴값, 리터자료형 for (int i = 0; i < cnt; i++) { students[i].rank = getRank(i+1, students); } System.out.printf("> 입력받은 학생수 : %d명 \n", cnt ); for (int i = 0; i < cnt ; i++) { System.out.println( students[i].getStudentInfo() ); } } // main // 4:05 수업 시작~ // 학생의 번호를 입력하면 등수를 반환하는 함수 선언 public static int getRank( int no, Student[] students) { // 총점 int tot = students[no-1].tot; // 모든 학생의 총점 비교 tots 배열 int rank = 1; for (int j = 0; j < students.length; j++) { if( students[j] == null ) break; if( tot < students[j].tot ) rank++; // students[j].tot X NullPointException } return rank; } public static int getScore() { return (int)( Math.random()*101 ) ; } public static String getName() { char [] nameArr = new char[3]; Random rnd = new Random(); for (int i = 0; i < nameArr.length; i++) { nameArr[i] = (char)( rnd.nextInt('힣' - '가' + 1) + '가' ); } String name = new String( nameArr ); return name; } private static int getTotalScore() { return (int)( Math.random()*301 ) ; } public static String getAlphabetName(int len) { char [] nameArr = new char[len]; Random rnd = new Random(); int index = 0; while( index < len) { int code = rnd.nextInt('z' - 'A' + 1) + 'A' ; if( Character.isAlphabetic(code) ) { nameArr[index++] = (char)code; } // if } // while String name = new String( nameArr ); return name; } } // class
 
<java />
public static void main(String[] args) { // 클래스 2차원 배열 Student [][] students = new Student[3][30];} }
<code />
public static void main(String[] args) { /* * 1. 클래스 앞에 붙는 접근지정자, 기타제어자 설명. ( 암기 ) * 2. 멤버( 필드, 메서드, 생성자 constructor ) 앞에 붙는 접근지정자 설명 ( 암기 ) * 1) public - 패키지 내부 /외부 어디서나 접근(참조) 가능 * 2) default - 같은 패키지 내부에서만 접근(참조) 가능 * 3) protected - defulat + 상속( 다른 패키지의 자식 클래스에 접근(참조) 가능 ) * 4) private - 같은 클래스 내에서만 접근(참조) 가능 * * 범위 : public > protected > default > private * * 지역변수에는 접근 지정자를 사용할 수 없다. * */ // public days14.Time 클래스 - 패키지 내부/외부 어디서나 참조/상속 가능 // days14.Ex08.main(){} 같은 패키지 안.. 테스트 Time t = new Time(); // t.멤버 ( 필드, 메서드 ) // t.hour O public // t.minute O defalut // t.second O protected // t.nano O public // t.milisecond X private 같은 클래스 에서만 참조(접근) 가능 // days01.Ex01.main(){} 다른 패키지 테스트 } // main } // class
<code />
public class Ex09 { // [ 멤버 변수 == 필드 ] // "인스턴스 변수" 선언 형식 // [접근지정자] [ 기타제어자] 자료형 필드명; public String name = null; public int age = 0; public boolean gender = false; // "클래스 변수" // static 기타제어자가 붙어있는 필드 public static double PI = 3.141592; // 멤버 함수 == 메서드 public static void main(String[] args) { /* * [ 변수 종류] - 선언되는 위치를 기준으로 변수 구분 * 1. 지역변수 - 해당 영역(지역)에서만 사용되는 변수/ 변수 선언문을 실행할때 / 해당 영역 빠져나올때 * * 필드( field ) * 2. 인스턴스 변수 - / 인스턴스가 생성될 때 / 인스턴스 소멸될 때 * - 초기화 하지 않아도 그 자료형의 기본값으로 초기화 되어져 있다. * 3. 클래스 변수 / 해당 클래스가 메모리에 올라갈때 / 프로그램 종료할때 * ( 프로그램 시작할 때 ) * */ int age; // 지역변수 } // main } // class

 

<code />
package days14; // package( == default ) 접근지정자를 선택. class Person { // fields public String name; public int age; // methods public void walk() { System.out.println("사람이 걷는다."); } public void run() { System.out.printf("%s이 뛴다\n", name); } }

객체 배열 초기화 

 

<java />
public static void main(String[] args) { // 저축 클래스 선언 : Save // 기업은행 : 보통 예금 통장 /* Save p1 = new Save("김예지", 10000, 0.05); Save p2 = new Save("이혜진", 4000, 0.05); Save p3 = new Save("박민종", 16000, 0.05); Save p4 = new Save("이태규", 65000, 0.05); Save p5 = new Save("탁인혁", 1000, 0.05); // 모든 예금 정보 출력(조회) p1.dispSave(); p2.dispSave(); p3.dispSave(); p4.dispSave(); p5.dispSave(); */ // 객체(클래스) 배열 /* * int [] m = new int[5]; * m[0] = 1; * m[1]=2; * m[2] = 3; * m[3]=4; * m[4]=5; * * 배열 초기화 * int [] m = { 1,2,3,4,5 } */ /* Save [] ps = new Save[5]; ps[0] = new Save("김예지", 10000, 0.05); ps[1] = new Save("이혜진", 4000, 0.05); ps[2] = new Save("박민종", 16000, 0.05); ps[3] = new Save("이태규", 65000, 0.05); ps[4] = new Save("탁인혁", 1000, 0.05); */ // 객체 배열 초기화 Save [] ps = { new Save("김예지", 10000, 0.05), new Save("이혜진", 4000, 0.05), new Save("박민종", 16000, 0.05), new Save("이태규", 65000, 0.05), new Save("탁인혁", 1000, 0.05) } ; for (int i = 0; i < ps.length; i++) { ps[i].dispSave(); } } // main } // class
<java />
public static void main(String[] args) { MyPoint p1 = new MyPoint(10, 20); // 객체 복사 MyPoint p2 = p1; test( p1 ); // 원래 객체는 유지시키고 테스트 / ~ // p1 객체 복제( clone ) MyPoint p3 = new MyPoint( p1.x, p1.y ); } // main public static void test( MyPoint p) { // 객체 복사.. } } // class
profile

냥쟝

@냥쟝

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!