Toggle menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

새싹교실/2022/Java보시던지/05.12: Difference between revisions

From ZeroWiki
No edit summary
No edit summary
Line 53: Line 53:
== 과제 ==
== 과제 ==
* [[임지민]]
* [[임지민]]
**  
** Rectangle 클래스 작성
/** 직사각형 클래스 */
public class Rectangle {
    /**사각형을 구성하는 점 정보 x,y
*** 사각형을 구성하는 크기 정보 width, height */
    private int x;
    private int y;
    private int width;
    private int height;
 
    /** x,y, width, height 값을 매개변수로 받아 필드를 초기화하는 생성자 */
    Rectangle(int x, int y, int width, int height) {
        this.x = x;
        this.y = y;
        this.width = width;
        this.height = height;
    }
 
    /** 사각형 넓이 리턴하는 메소드 */
    public int square() {
        return width * height;
    }
 
    /** 사각형의 좌표와 넓이를 화면에 출력하는 메소드 */
    public void show(){
        System.out.println("(x,y) = ("+x+","+y+")");
        System.out.println("넓이 = " + square());
    }
}
** 12871 무한 문자열
import java.util.Scanner;
/** 무한문자열
* s와 t가 주어졌을 때, f(s)와 f(t)가 같은 문자열을 만드는지 아닌지 구하는 프로그램 */
public class InfiniteString {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
 
        String s = sc.nextLine();
        String t = sc.nextLine();
 
        sc.close();
 
        String big = (s.length() >= t.length()) ? s : t; //s와 t의 문자열 길이를 비교하여 같거나 큰 스트링을 big에 할당
        String small = (s.length() >= t.length()) ? t : s; //s와 t의 문자열 길이를 비교하여 같거나 큰 스트링을 big에 할당
 
        while(!big.isEmpty()) {
        if(big.startsWith(small)) { //f(s)와 f(t)이 같기 위해서는 문자열 big이 문자열 small로 시작해야한다.
        big = big.substring(small.length()); //big에서 문자열 small에 해당하는 부분을 제거한다.
        } else {
        System.out.println("0"); // f(s)와 f(t)가 다르다.
        break;
        }
        if(big.isEmpty()) { //문자열 big이 문자열 small로 나누어떨어져서 0이 된다면 f(s)와 f(t)가 같다.
        System.out.println("1");       
        }
        }
    }
}


* [[박창훈]]
* [[박창훈]]
**
**



Revision as of 08:28, 17 May 2022

Describe 새싹교실/2022/Java보시던지/05.12 here

회고

임지민

난이도

익힌 내용들 - 패키지/import문 이미 알던내용들 - 접근제한자, static

수업내용

static

  • 도입이유: (굳이 똑같은 내용인데?필요가 없는 공간들로 메모리낭비)
  • 정의: 클래스에 고정된 멤버로 객체를 생성하지 않고 사용할 수 있는 멤버, 메소드
  • 모든객체가 가지고 있어야하고 기능도 같아야한다면 공통된 내용은 스태틱으로

접근제한자 초기에는 프라이빗으로쓰고 나중에 퍼블릭으로 바꿔주기

새롭게 배운 내용

코드리뷰

  1. boolean true 을 계산하면 if( A ==true)라고 하는 것보다 if(A)라고 하기
  2. 안쓰고 버려질 내용은 변수명으로 주는것보다 바로 계산해버리기
숫자의 자릿수를 받기 위해서 string메소드의 스플릿을 쓰는 방법보다는 nString[] nString = Integer.toString(n).split(””);
charAt으로 받아와서 '0'으로 빼주기 nString.charAt(i) - ‘0’;

패키지

  • 단순한 파일 시스템의 폴더 기능 뿐만 아니라 클래스의 일부분
  • 클래스를 유일하게 만들어주는 식별자 기능
  • 기능과 관련된 것을 대략적으로 나눠주는 것(기능별로 분리할때 사용)
  • 상위패키지. 하위패키지.클래스
  • 클래스만 따로 복사해서 다른 곳으로 이동하면 클래스 사용 불가
→ 사용하기 위해서는 패키지 자체를 이용해야한다.
  • 소문자로 시작하는 것이 관례 (특수문자x숫자로 시작x)

Import문

  1. 쓸클래스를 가져오기 import.util.Scanner;(원하는 것을 지정해서 가져오는 것을 추천)
  2. 전체불러오고 싶다. import java.util.*; (비추 용량이 너무 큼)
*폴더안의 것은 접근 불가(상위패키지를 import했다고 해서 하위패키지까지 import되지 않음)
*동일 이름이 있을 경우, 풀네임으로 다뤄주기
느낀점/건의사항

실버문제 난이도가 좋은것 같아요!(너무 어렵지도 않고 쉽지도 않은 문제가 좋아용)

박창훈

난이도
수업내용
새롭게 배운 내용
느낀점/건의사항

과제

/** 직사각형 클래스 */ public class Rectangle {

   /**사각형을 구성하는 점 정보 x,y
      • 사각형을 구성하는 크기 정보 width, height */
   private int x;
   private int y;
   private int width;
   private int height;
   /** x,y, width, height 값을 매개변수로 받아 필드를 초기화하는 생성자 */
   Rectangle(int x, int y, int width, int height) {
       this.x = x;
       this.y = y;
       this.width = width;
       this.height = height;
   }
   /** 사각형 넓이 리턴하는 메소드 */
   public int square() {
       return width * height;
   }
   /** 사각형의 좌표와 넓이를 화면에 출력하는 메소드 */
   public void show(){
       System.out.println("(x,y) = ("+x+","+y+")");
       System.out.println("넓이 = " + square());
   }

}

    • 12871 무한 문자열

import java.util.Scanner; /** 무한문자열

  • s와 t가 주어졌을 때, f(s)와 f(t)가 같은 문자열을 만드는지 아닌지 구하는 프로그램 */

public class InfiniteString {

   public static void main(String[] args) {
       Scanner sc = new Scanner(System.in);
       String s = sc.nextLine();
       String t = sc.nextLine();
       sc.close();
       String big = (s.length() >= t.length()) ? s : t; //s와 t의 문자열 길이를 비교하여 같거나 큰 스트링을 big에 할당
       String small = (s.length() >= t.length()) ? t : s; //s와 t의 문자열 길이를 비교하여 같거나 큰 스트링을 big에 할당
       while(!big.isEmpty()) {
       	if(big.startsWith(small)) { //f(s)와 f(t)이 같기 위해서는 문자열 big이 문자열 small로 시작해야한다.
       		big = big.substring(small.length()); //big에서 문자열 small에 해당하는 부분을 제거한다. 
       	} else {
       		System.out.println("0"); // f(s)와 f(t)가 다르다.
       		break;
       	}
       	if(big.isEmpty()) { //문자열 big이 문자열 small로 나누어떨어져서 0이 된다면 f(s)와 f(t)가 같다.
       		System.out.println("1");         		
       	}
       }
   }

}