묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨나도코딩의 자바 기본편 - 풀코스 (20시간)
퀴즈 11을 if~else 대신 swtich문으로 풀어도 똑같은 결과가 나오는데, 취사선택의 문제일까요??
package chap_11; public class _Quiz_11 { public static void main(String[] args) { //todo 사용자 정의 예외 클래스(extends Exception을 통해 가능) //todo 예외 객체 생성 메시지가 2개인 것을 보아, 클래스도 2개를 만들어야 할듯...? //todo 경우의 수가 3가지니까 if~else문으로 작성 int errorCode = 0; try { switch (errorCode) { case 0: System.out.println("상품 구매를 완료하였습니다."); break; case 1: throw new NotOnSaleException("상품 구매 가능 시간이 아닙니다."); case 2: throw new SoldOutException("해당 상품은 매진되었습니다."); default: throw new Exception("이외의 에러코드는 여기서 처리하였습니다."); } } catch (NotOnSaleException e) { System.out.println(e.getMessage()); System.out.println("상품 구매는 20시부터 가능합니다."); } catch (SoldOutException e) { System.out.println(e.getMessage()); System.out.println("다음 기회에 이용해주세요."); } catch (Exception e) { System.out.println(e.getMessage()); } } } class NotOnSaleException extends Exception { public NotOnSaleException(String msg) { super(msg); } } class SoldOutException extends Exception { public SoldOutException(String msg) { super(msg); } }위의 errorCode를 각각넣으면 퀴즈의 요구사항대로 정상적으로 출력이 됩니다. 또한, int errorCode = 99; 같이 default에 해당하는 다른 값을 넣어도 정상적으로 다음과 같이 출력이 되구요:제목과 같이 if~else문이나 swtich문으로 선택하는 것은 개인의 자유인가요? 아니면 특정 상황에 따라 다른가요?
-
해결됨나도코딩의 자바 기본편 - 풀코스 (20시간)
Switch case 관련 질문
안녕하세요.switch case(후반전) 강의 3분 30초 부분에서 궁금한 점이 생겨 질문을 남깁니다. 제가 알기로는 switch case를 사용할 때, 그 case에 해당하는 경우에만 수행 동작을 실행하는 걸로 알고 있습니다. 이 영상에서도 마찬가지로 grade를 1이라고 가정할 때, case 1은 조건을 만족하므로 price에 1000을 더해주었습니다. 하지만 그 이후 case 2를 만족하지 않음에도 불구하고 1000을 더해주고, case 3도 만족하지 않지만 1000을 더한 결과 값이 출력 되었습니다.즉, break를 넣으면 switch문을 빠져나갈 수 있다는 것은 알고 있으나, 왜 break가 없어졌다는 이유로 다음 case의 수행 동작이 실행되는지 잘 모르겠습니다. 이와 관련하여 매커니즘을 조금 더 자세히 설명해주시면 감사할 것 같습니다..!
-
미해결빠르게 git - 핵심만 골라 배우는 Git/Github
git checkout 과 git switch/restore
안녕하세요.git checkout이 git switch, git restore로 대체된 것으로 나오는데, 어떤 상황에서 git switch나 git restore를 써야하는지 그 차이에 대해서 설명을 해주실 수 있을까요?#차이점1checkout: Switch branches or restore working tree filesswitch: Switch branchesrestore: Restore working tree files #차이점2switch --- local 에 있는 브랜치로만 이동 가능checkout --- remote에 있는 브랜치로도 이동 가능 #referencehttps://git-scm.com/docs/git-checkouthttps://git-scm.com/docs/git-switchhttps://git-scm.com/docs/git-restore 감사합니다.
-
미해결자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)
switch문을 사용해 풀어봤습니다
function rockScissorPaper2(a, b) { let answer = []; for(let i = 0; i < a.length; i++) { switch(true) { case a[i] === b[i]: answer.push('D'); break; case a[i] === 1 && b[i] === 2: case a[i] === 2 && b[i] === 3: case a[i] === 3 && b[i] === 1: answer.push('B'); break; case b[i] === 1 && a[i] === 2: case b[i] === 2 && a[i] === 3: case b[i] === 3 && a[i] === 1: answer.push('A'); break; } } console.log(answer); }