전체 글 84

24.11.22(금) "1111 말고 1234 부탁드려요. 제발요!" (2단계 키오스크)

[문제]package com.example.kiosk.level2;// [A] MenuItem 클래스 public class MenuItem { // [1] 속성 (== 멤버변수) private String name; private double price; private String description; // [2] 생성자 (== 조립 설명서) public MenuItem(String name, double price, String description) { this.name = name; this.price = price; this.description = description; } // [3] 기능 (==..

1단계: "반복문 밖에서 변수를 선언했더니 햄버거가 비처럼 내리네!"

[문제]package com.example.kiosk;import java.util.*;public class KioskLvOne { public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.println(); System.out.println("[ GRILL&THRILL MENU ]"); double[] price = new double[4]; price[0] = 6.9; price[1] = 8.9; price[2] = 6.9; price[3] = 5.4; String[] priceSt..

24.11.13(수) "변수 전용 작명소는 없나요?" (1단계 계산기)

[문제]import java.util.Scanner;public class CalcLvOne { public static void main(String[] args) { Scanner sc = new Scanner(System.in); while (true) { System.out.print("0 이상인 첫 번째 정수를 한 개 입력해 주세요: "); int numOne = sc.nextInt(); System.out.print("0 이상인 두 번째 정수를 한 개 입력해 주세요: "); int numTwo = sc.nextInt(); sc.nextLine(); ..

2단계: "반복문 안에서 인스턴스화를 했다고요? 갑부시군요!"

[문제]분명 가장 먼저 저장된 결괏값을 삭제하지 않았으니 나누기 연산을 했을 때 [55, 3]이 출력되어야 하는데 [3]이 출력되었다. 처음에는 클래스를 작성할 때 for문 같은 반복문을 쓰지 않아서 발생한 문제인 줄 알았다.  [원인 추측]package com.project.personal.calculator2;import java.util.*;public class CalcLvTwo { public static void main(String[] args) { Scanner sc = new Scanner(System.in); while (true) { System.out.print("0 이상인 첫 번째 정수를 입력해 주세요: "); ..

Spring 본캠프 Day 048 - 2단계 키오스크 완료, 내일 목표는 4단계까지!

TIL을 자유로운 형식으로 쓰고 나니 시간을 번 기분이 든다. 오늘 점심 약속이 있어서 나가기 전에 자바(Java) 문제를 하나 풀고 친구를 만났다. 직접 만든 계산기와 키오스크를 보여주며 친구에게 설명했는데, 선생님이 워낙 설명을 잘해주어서 재미있었단다. 생각보다 친구가 전체 흐름을 잘 이해해서 '너도 개발 쪽 공부 한 번.......' 운을 뗐다가 '조용히 해'라는 말을 정확히 다섯 번 들었다. 100%라고 할 순 없지만, 비전공자인 친구가 무슨 말인지 알겠다고 할 때마다 왠지 여태까지 한 공부 방향이 틀리지 않았다는 말 같아서 안도감이 들었다. 성격상 조급할 게 뻔하니 절대로 조급해하지 말라는 응원 덕에 친구가 사준 커피가 정말 달착지근했다.친구한테 switch-case문 쓰지 않고 원하는 값 출력..

Spring 본캠프 Day 047 - 1단계 키오스크 완료, 끝날 듯 안 끝나는 2단계 키오스크

"개발에서 정답은 콘솔에 찍힌 출력문뿐이다." 아침에만 해도 5단계 중 4단계까지는 마칠 줄 알았는데 제대로 된 착각이었다. 하나 구현하고 고민하고, 또 하나 구현하고 고민하다가 튜터님 방문 두들기고, 또 작성하다가 막히면 미간에 내 천(川) 자를 그리고....... 깃허브(Github)에 틈틈이 깃 커밋 메시지(git commit message)를 올리고 나니 시간이 밤 9시를 훌쩍 넘겼다.  오늘부터 TIL보다 트러블 슈팅(Troubleshooting)을 작성하는 데 시간을 더 들이고 싶어서 TIL의 형식을 포기했다. 다음 주 목요일까진 과제를 붙잡을 터라 필기할 부분도 거의 없을 예정이었다. [학습 관련] 부분이 빈칸으로 남을 확률이 사전캠프 때보다 훨씬 높은지라 이렇게 자유롭게 작성하는 편이 더 ..

Spring 본캠프 Day 046 - 키오스크 과제 시작, 1일 1트러블 생성 중

피드백을 하루 만에 받을 줄은 몰랐다. 오전에 키오스크 만들기 과제를 추가로 받은 터라 계산기보다 더 잘 만들고 싶었다. 그만큼 피드백이 필요한 순간에 바로 받아서 설레기도 하고 떨리기도 했다.가장 놀란 점은 나는 도전 단계 과제를 안 해서 X로 표시한 항목을 튜터님은 체크로 표시하셨다는 점이었다. 자가 평가와 튜터 평가가 달라서 '점검 필요'로 표시되었다. 전혀 생각도 못 한 부분이라 나도 모르는 장점을 발견한 기분이 들었다. 부족한 부분은 개선하는 동시에 장점은 살리는 방향으로 공부하자고 다짐했다.    계산기에 아주 호되게 당한 탓인지 덕인지 키오스크 만들기 과제가 솔직히 재미있어 보였다. 세상에. 이게 바로 '피할 수 없으면 즐겨라' 마음가짐인가? 과제는 1단계부터 5단계까지 필수로 구현해야 하며..

Spring 본캠프 Day 045 - 2단계 계산기 완료, 과제 제출, 첫 리드미(README) 작성

온 집중력을 발휘하여 오후 2시 전에 과제를 제출했다. 링크로 제출하다보니 나중에 내용을 더 보충할 수 있어서 다행스러웠다. 첫 개인 과제를 마침 소감은 뭐랄까, 끝이라는 느낌이 전혀 들지 않았다. 내일 오전에 추가 발제가 예정됐기도 하지만, 공부에 끝이 없어서 그럴지도 모른다. 2단계 계산기를 완성할 땐 20분 정도 밖에 안 걸렸는데 깃허브(Github)에 파일을 올리는 데에는 두 배나 더 오래 걸렸다. 오죽하면 "그냥 USB 들고 다니면 안 될까요." 곡소리가 절로 나왔다. 아무튼 남은 트러블슈팅(Troubleshooting)만 정리하면 정말 끝이다.처음부터 3단계 계산기는 깔끔하게 포기하고 필수인 1단계와 2단계 계산기를 제대로 만들자고 다짐해서 그렇게 아쉽진 않았다. 목표를 달성했다는 사실이 훨씬..

2단계: 절차 지향 add() vs 객체 지향 add()

[문제]package com.project.personal.calculator2;import java.util.*;// [참고] 패키지 전체를 불러오고 싶을 때 사용public class Calculator { ArrayList results = new ArrayList(); public Calculator() { } public int calculate(int numOne, String operator, int numTwo) { if (operator.equals("+")) { return numOne + numTwo; } else if (operator.equals("-")) { return numOne - numT..

Spring 본캠프 Day 044 - 과자 봉지 대신 2단계 계산기 부스럭거리는 중

얼마나 정신이 없었으면 어제 오류 정정 안내 문자를 받았단 사실까지 망각했다. 2주 차 강의 9강 이후로는 필기 없이 쭉 듣기만 해서 오류 정정 요청을 못 했는데. 지금 보니 그전까진 강의 자료와 코드 스니펫(Code Snippet)을 얼마나 꼼꼼히 읽고 따라 쓴 걸까, 여러 감정이 뒤섞여 요동친다. 어제 온종일 우울의 늪에 빠져 허우적댄 탓인지 덕분인지, 오늘은 2단계 계산기를 만드는 내내 오류가 발생해도, 노란 줄로 경고가 보여도 담담했다. 진짜 냅다 들이박는 식으로 어려운 걸 겪었더니 이 정도로는 심장이 코웃음조차 치지 않았다.  '음, 막혔네. 왜 막히지? 아, 이 개념이 헷갈려서 그렇구나. 튜터님께 가서 해결할 방법을 찾아보자.' '으음, 의도와 다르게 구현되네? 이렇게 해결하면 좋겠는데, 더 ..