본문 바로가기

자바

[TestCode] @RepeatedTest, @ParameterizedTest 테스트 반복하기 (JUnit5) @RepeatedTest : 반복 횟수와 반복 테스트 이름을 설정할 수 있다. @RepeatedTest(10) // 10번의 테스트 반복 void repeatTest(RepetitionInfo repetitionInfo) { // 매개변수 통하여 현재 테스트 정보를 얻어옴 System.out.println("현재 " + repetitionInfo.getTotalRepetitions() + " 개의 테스트중 " + // 총 테스트 수 repetitionInfo.getCurrentRepetition() + " 번 실행중"); // 현재 진행중인 테스트 번호 } - 테스트 반복 횟수를 설정하고 매개변수를 통하여 테스트의 정보를 받아올 수 있다. - @RepeatedTest 어노테이션엔 2개의 매개변수를 넣어줄.. 더보기
[TestCode] @interface 커스텀 태그 (JUnit5) Junit5 애노테이션을 조합하여 커스텀 태그를 만들 수 있다. @Target(ElementType.METHOD) // 메서드에 사용이 가능하다. @Retention(RetentionPolicy.RUNTIME) // 애노테이션 정보를 런타임 까지 유지되도록 @Tag("local") // 태그가 local 환경이다. @Test public @interface custom { } - 커스텀태그를 위와 같이 생성하였다. - 위처럼 태그생성 후 테스트 코드 메서드에 이 애노테이션을 사용할 수 있다. @custom // @Test , Tag("local") 어노테이션 생략가능 @DisplayName("커스텀 태그") void custom_tag_ex() { Lunch lunch = new Lunch(); asse.. 더보기
[Programmers] Level1. 2016년 (Java) Level1. 2016년 문제설명 ) 풀이Code ) 더보기 class Solution { public String solution(int a, int b) { int[] month = {31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}; int day = 0; String[] week ={"FRI","SAT","SUN","MON","TUE","WED","THU"}; String answer = ""; for (int i=0; i1 ? ((b-1)%7) : 0; // 일주일 단위로 나눈 나머지값 int weekIndex = 0; // 최종적으로 요일의 인덱스 // addDays를 해줬을때 한 주를 넘어가게되면 일요일부터 다시계산해준다. // 수요일인데 addDays가 .. 더보기
[Programmers] Level1. 모의고사 (Java) Level1. 모의고사 문제설명 ) 풀이Code ) 더보기 import java.util.ArrayList; public class Solution { public int[] solution(int[] answers) { int[] a = new int[] {1, 2, 3, 4, 5}; int[] b = new int[] {2, 1, 2, 3, 2, 4, 2, 5}; int[] c = new int[] {3, 3, 1, 1, 2, 2, 4, 4, 5, 5}; //제시된 정답규칙 int[] score = new int[3]; //세 학생의 점수 비교를 위한 배열 for (int i=0; i 더보기
[JSP] request 객체 Request 객체 : 사용자(클라이언트)의 요청을 관리하는 객체 관련메소드 getContextPath() : 웹 어플리케이션의 컨텍스트 패스를 얻어올 때 사용하는 메소드 getMethod() : get방식과 post방식을 구분하기 위해서 사용하는 메소드 getSession() : 세션 객체를 얻을 때 사용하는 메소드 getProtocol() : 해당 프로토콜을 얻어올 때 사용하는 메소드 getRequestURL() : 요청한 URL을 얻어올 때 사용하는 메소드 getRequestURI() : 요청 URI를 얻어올 때 사용하는 메소드 getQueryString() : 파라메터와 값을 String 으로 받을때 사용하는 메소드 실행결과 더보기
[Java] 자바 내부 클래스(inner class) 자바 내부 클래스(inner class) : 클래스 내부에 클래스를 선언하여 외부 클래스의 필드 접근에 용이하기 위함. 내부 클래스의 필드를 사용하기 위해서는 외부 클래스에서 내부 클래스를 객체화 해야한다. : 내부 클래스는 GUI(Graphic User Interface) 개발시 많이 사용된다. 예를 들어 a라는 버튼과 b라는 버튼이 있다고 하자. 두 버튼의 기능이 서로 다르다면 클래스를 별도로 만드는 것 보다 내부 클래스로 만들어 사용하는 것이 적합하다. ※ 사용이유 : 캡슐화를 하기 위해서. 캡슐화 : A클래스에서 b라는 작업이 자주 쓰이고, 이 작업은 B 클래스를 만들어야 쉽게 관리할 수 있음. 하지만 다른 클래스에서 b작업이 필요 없거나, B클래스를 외부에 노출시키고 싶지 않을 때 사용한다. 더보기
[Java] 정올기초다지기 함수3-자가진단03 12345678910111213141516171819202122232425package 함수3.자가진단03; import java.util.Scanner; public class Main { static int sum =0; public static void main(String[] args) { Scanner sc = new Scanner(System.in); int num = sc.nextInt(); recursive(num); sc.close(); } public static void recursive(int num) { if(num == 0) { System.out.println(sum); return; } else { sum += num; recursive(num-1); } }} 더보기
[Java] 정올기초다지기 함수3-자가진단01 1234567891011121314151617181920212223package 함수3.자가진단01; import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int num=0; num = sc.nextInt(); recursive(num); sc.close();} public static void recursive(int num) { if(num ==0) { return; } else { System.out.println("recursive"); recursive(num - 1); } }} > recursive라는 함수안에서 recursiv.. 더보기