내일배움캠프/TIL 29

[JAVA]_다양한 자료구조

JAVA 프로그래밍에 여러 개의 변수르 같은 곳에 저장하고 싶을 때 기본적으로 배열이라는 변수에 저장을 한다. 배열[Array] -  import java.util.Arrays; 를 작성해야한다>선언법일반적인 선언2번째 선언방식int[] intArray;long[] longArray;double[] doubleArray;char[] charArray;String[] stringArray;int intArray[]; // 정수 배열 long longArray[]; double doubleArray[]; // 실수 배열 char charArray[]; // 문자 배열 String stringArray[]; // 문자열 배열 순회 - 배열안에 담긴 변수들을 하나씩 꺼내는 조회하는 것 얕은 복사깊은 복사실제 값..

[JAVA] 키오스크 트레블 슈팅 Lv6

- 키오스크에 장바구니 및 구매하기 기능을 추가해보자 - 장바구니를 출력해주는 printCart클래스 생성- printCategory메소드에 메뉴를 선택후 장바구니에 넣을지 말지 선택 문구 추가 - start 메소드에서 장바구니에 메뉴를 넣었을때만 장바구니와 주문 메뉴가 나오게 작성- 장바구니가 비어있거나 주문한 메뉴가 없으면 InputMismatchException출력

[JAVA] 키오스크 트레블 슈팅 Lv3~Lv4

- Kiosk클래스를 만들어 프로그램 메뉴를 관리하고 사용자의 입력을 처리- 기존 메인에 있던 메뉴 입력을 가져왔으며 if문을 switch문으로 수정-  bugerList에 있는 값을 한번에 출력하고 싶었으나 그 부분에서 많은 오류가 발생하여 MenuItem의 getter로 이름과 가격, 코멘트를 받왔다.[결과]  LeveL 4- MenuItem을 관리하는 Menu클래스 생성- 여러 버거를 포함하며 버거 같은 카테고리 이름 필드를 가진다- 메뉴 카테고리에서 이름을 반환하는 메소드 구현   Kiosk에서 카테고리를 출력하는 메소드- for문을 통해 카테고리 별 메뉴를 출력- if문을 통해 입력한 메뉴를 출력- 배열보다 큰수를 입력시 문자열 출력- 숫자가 아닌 다른것을 입력시 InputMismatchExce..

[JAVA] 키오스크 트레블 슈팅 Lv1~Lv2

Lv1 기본적은 키오스크 프로그래밍package esential;import java.util.Scanner;public class main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.println("1. ShackBurger | W 6.9 | 토마토, 양상추, 쉑소스가 토핑된 치즈버거"); System.out.println("2. SmokeShack | W 8.9 | 베이컨, 체리 페퍼에 쉑소스가 토핑된 치즈버거"); System.out.println("3. Cheeseburger | W 6.9 | 포테이토 번과 비프패..

[Java]_제네릭(Generic)이란?...

제네릭을 사용하는 이유1. 중복되거나 필요없는 코드를 줄여주는 것function plusReturnFunction(a, b) { return a + b;}const a = 1;const b = 2;const c = 1.1;const d = "hello";plusReturnFunction(a + b); // 3plusReturnFunction(a + c); // 2.1plusReturnFunction(a + d); // 1hellopublic class Generic { public String plusReturnFunction(int a, int b) { ... } public String plusReturnFunction(int a, long b) { ... } public Str..

[Java]_예외 인식과 처리

코딩을 진행하면서 많은 문제를 만나며 오늘은 그중 에러와  예외를 다뤄볼려고 한다. 1. 오류와 예외 오류(Error)예외(Exception구별일반적으로 회복 불가능한 문제(대부분 문법 틀린 것)일반적으로 회복이 가능한 문제 코드실행관점에서 예외의 종류컴파일 에러(예외)런타임 에러(예외)문법(자바 언어의 규칙)을 지키지 않았을 때문법적인 문제는 아니지만 실행과정에서 만나는 에러(예외)  예외 처리 관점에서 예외의 종류확인된 에러(예외)미확인된 에러(예외)컴파일 시점에 확인하는 예외반드시 예외처리 해야함컴파일 시점에 확인하는 예외반드시 예외처리 해야함2. 예외 발생과  try-catch, final문- 예외 클래스를 만들어서 예외를 정의 -class OurBadException extends Excepti..

[Java] 클래스를 사용하여 기본연산 계산기 만들기 트러블슈팅

사칙연산 수행 후 결과값을 반환하고 결과를 출력하는 Calculator클래스 생성이전 클래스없이 만든 App클래스에 Calculator클래스가 활용되게 코드 수정 (연산 수행은 Calculator에서 진행)App클래스에서 Calculator클래스를 직접적으로 접근못하게 수정- App클래스에서 연산부분 제외 while문 유지 및  기록저장/삭제 문구 추가package com.example.calculator2;import java.util.ArrayList;public class Calculator { // 결과 값 저장을 위한 배열 생성 및 private ArrayList record = new ArrayList(); // 생성자 (위에서 이미 초기화를 해 기본생성자로 작성해도 이상없음 ..

[Java] 클래스 없는 계산기 트러블슈팅

조건- Scanner를 통해 양의 정수 2개를 하나씩 전달 받아 적합한 타입으로 선언해 변수에 저장- Scanner를 통해 사칙연산 기호를 전달받아 적합한 타입으로 선언해 변수에 저장- 입력받은 정수들과 기로흫 사용해 연산 후 결과 출력- 반복문을 사용하되 "exit"문자열을 입력하기전까지 무한으로 계산- firstNumber와 secondNumber가 2번 선언됨 - 변수 선언 중복- while문 안의 변수에서 int를 지워 처음 선언된 변수를 사용추가적으로 if문 같은 조건문, 반복문의 조건에 비교연산자를 틀리는 경우가 많았다- 위 코드에서 == 으로 작성하면 오류가 풀린다.

객체를 활용한 계산기 제작 과정

step 1. Calculator클래스에 if문으로 숫자, 연산자, 숫자순으로 들어온 걸 연산하여 Main에서 출력-----step 2. 각 연산들의 클래스를 만들어 Calculator와 연결기존  if문 안의 식을 ex) AddOperation.operate(firstNumber, secondNumber)로 변경- 연산자들을 각 클래스로 생성하여 단일 연산 책임의 원칙에 의해 유지보수와 확정성을 챙김 step 3.연산 클래스들을 추상클래스를 사용해 추상화각 연산자들은 추상클래스를 상속받고 오버로드됨 마무리가 되가면서 각 클래스들이 정리되고 Main과  Calculator클래스 코드의 시인성이 좋아졌다.그래도 아직 배운것에 대해 완전히 이해하고 진행한것이 아니기에 다시한번 강의를 듣고 정리후주간 과제 L..