본문 바로가기

자바과정/과제물22

(Java) 성적처리프로그램(3차원 배열사용) import java.util.Scanner; public class Array33 { public static void main(String[] args) { // 3차원 배열 사용 // 한 반당 몇명? // 각 반에의 학생 수와 그 학생들의 성적 입력 후 출력 int []room; // 반을 나타내는 배열 String [][]name; // 반과 이름 int [][][]score; // 해당 반 학생의 성적 float [][]avg; int n,n2=0; // 교실수 입력 변수와 반의 수 구분짓는 변수 Scanner sc = new Scanner(System.in); System.out.print("교실수 입력 : "); n = sc.nextInt(); room = new int[n]; // 교실 수.. 2021. 2. 2.
(Java) stack과 heap 스택(stack) 메모리의 스택(stack) 영역은 함수의 호출과 관계되는 지역 변수와 매개변수가 저장되는 영역이다. 스택 영역은 함수의 호출과 동시에 할당되며 함수의 호출이 완료되면 소멸한다. (int a; // 함수 내 잡히는 지역 변수, stack에 저장됨.) canner sc; // 레퍼런스 변수 reference 변수 : sc (stack) sc가 Scanner(heap) 접근 가능 이렇게 스택 영역에 저장되는 함수의 호출 정보를 스택 프레임(stack frame)이라고 한다. 스택 영역은 push로 데이터를 저장하고 pop으로 데이터를 꺼낸다. 가장 늦게 저장된 데이터가 가장 먼저 나간다. 후입선출(LIFO, Last-In First-Out) 스택 영역은 메모리의 높은 주소에서 낮은 주소의 방.. 2021. 1. 30.
(Java) 별찍기 예제 5번과 6번은 if else문을 최대한 안쓰고 만들어 봤습니다. 5번부터는 3중 이상 포문과 if, else를 쓰고 시간을 단축시켜 구현할 수 있었지만 코딩테스트도 연습할겸 2중 포문을 쓰고 최대한 코딩길이도 줄이는 방법을 택했습니다. 2중 포문을 사용하는 수많은 방법 중 내 머리를 쥐어짜 최대한 짤 수 있는만큼 짜봤습니다... 이번 교육때 배운 연산자중에 삼항연산자를 쓰게 되었고 조건문 수식에 대한 여러 방법들을 알게 되었습니다. 아직 시간복잡도의 개념을 확실하게 알진 못하지만 별찍기를 바탕으로 실력을 늘릴 수 있게 하려고 합니다. ㅎㅎ // 1번 for(int i = 0;i 2021. 1. 30.
(Java) static method에서 this를 사용할 수 없는 이유 static method : 정적 메소드 this는 현재 클래스의 object(객체)를 의미한다. this는 해당 클래스의 object를 만드려고 한 후에만 나타나는데 정적 메소드(static method)는 객체를 만들 필요가 없이 "객체가 있든 없든 쓸 수 있다" 때문에 Java 규칙에 따라 객체 생성이 "static(정적)"으로 의미가 없다고 한다. 따라서 두 static과 this를 함께 사용하면 모순이 된다. 2021. 1. 29.