전체 글 171

for문을 통해 Map을 순회하기

향상된 for문을 사용하여 Map을 순회하려고 하면 오류가 난다. for 소괄호 안에 조건을 3개에서 2개로 줄인다.향상된 for 문은 연속된 변수 목록을 출력할 때 사용.형태 : for (변수타입 변수명 : 목록변수)  { (연산) }`변수 타입`과 `변수명`은 for문 안에서 연산을 수행할 변수를 정의 변수 목록에 Map을 넣는 게 불가능하다. 아래와 같은 방법으로 for문에서 Map을 순회할 수 있다. entrySet() 을 통해 키-값 쌍을 Map.Entry 객체로 가져오기import java.util.HashMap;import java.util.Map;public class MapExample { public static void main(String[] args) { Map ..

Java/Java 문법 2024.09.19

Set

Set : 순서가 없는 데이터의 집합 (데이터 중복 허용 안함) - 순서 없고 중복 없는 배열, 즉 순서가 보장되지 않는 대신 중복을 허용하지 않도록 하는 프로그램에서 사용할 수 있는 자료구조.  HashSet : 가장 빠르며 순서를 전혀 예측할 수 없음TreeSet : 정렬된 순서대로 보관하며 정렬 방법을 지정할 수 있음. 디폴트는 오름차순.LinkedHashSet : 추가된 순서, 또는 가장 최근에 접근한 순서대로 접근 가능 더보기public class col5 { public static void main(String[] args) { // Set은 집합. 순서 없고 중복 없음. 생성자가 없는 껍데기라서 바로 생성할 수 없음. Set intSet = new HashSe..

Java/Java 문법 2024.09.16

숫자 야구 게임 Lv3

Lv 3게임 기록 통계지금 시도하는 게임이 몇 번째 게임인지 기록합니다.사용자가 정답을 맞힐 때까지의 “시도 횟수”를 기록하고 게임이 끝났을 때, 총 시도 횟수를 출력합니다.프로그램 시작 및 정답을 맞히는 경우, 출력 개선에서와 같은 안내 문구를 출력하고, 2를 입력하면 게임의 시도 횟수를 출력합니다.// 예시환영합니다! 원하시는 번호를 입력해주세요1. 게임 시작하기 2. 게임 기록 보기 3. 종료하기2 // 2번 게임 기록 보기 입력 1번째 게임 : 시도 횟수 - 14 2번째 게임 : 시도 횟수 - 9 3번째 게임 : 시도 횟수 - 12 ... 출력 개선실행 및 정답을 맞힌 경우, 표시되는 안내문구 선택지 개선3을 입력하면 게임이 종료됩니다.이전의 ..

Java/기타 2024.09.14

Java에서 난수 만들기

숫자 야구 게임을 만들 때 정답 숫자를 만들기 위해 자바에서 임의의 수를 만드는 방법을 찾아보다가 작성하게 되었다. 여러 방법이 있으니 상황에 맞춰 판단하여 적절한 방식을 고르면 된다.  1.  java.util.Random 클래스 Random 클래스를 사용하는 것이기 때문에 객체를 만들어야한다.  - 임의의 정수 생성Random random = new Random();int randomInt = random.nextInt(); - 자릿수 지정Random randomWithSeed = new Random(5);다섯 자리, 즉 임의의 만의 자리의 수(10,000~99,999)가 만들어진다.  -  0부터 100(제외)까지의 임의의 정수 생성, 여기서는 매개 변수에 값을 주어 범위를 한정했다.Random r..

Java/Java 문법 2024.09.13

숫자 야구 게임 Lv2

요구 사항 : 입력값이 유효한지 검사하기3자리 수인지 자릿수를 검사합니다.중복된 숫자가 없는지 중복 숫자를 검사합니다.입력값에 숫자만 포함되어 있는지 검사합니다.유효하지 않은 값인 경우 “올바르지 않은 입력값입니다.”를 출력합니다.출력 개선프로그램을 시작할 때 안내문구를 보여주세요.1을 입력하면 “필수 구현 기능” 의 예시처럼 게임이 진행됩니다.“2. 게임 기록 보기”는 Lv3에서 제시됩니다. (2는 입력할 수 없습니다.)3을 입력하면 게임이 종료됩니다. 정답을 맞히는 경우, 아래 문구를 보여주세요// 예시환영합니다! 원하시는 번호를 입력해주세요1. 게임 시작하기 2. 게임 기록 보기 3. 종료하기1 // 1번 게임 시작하기 입력 숫자를 입력하세요...   수정 사항 및 아이디어 1. 입력 ..

Java/기타 2024.09.13

숫자 야구 게임 Lv1

09월 23일 작성... 요약: 0. 모든 사건의 발단... 숫자 게임이라고 하여 int 타입만을 써야한다는 아니다.1. 정답 숫자 생성은 ramdom.nextInt() 2. 문자형이 갖는 아스키코드 값을 원하는 숫자로 바꿀 때는  - '0'    요구 사항  1. 정답 숫자 생성하기 동일한 숫자가 반복되지 않는 서로 다른 세 자리 수2. 정답을 맞추기 위한 숫자 입력받기동일한 숫자가 반복되지 않는 세 자리 수를 입력받는다.숫자로만 입력 받고 다른 방식으로 입력 받지 않는다.3. 결과값 출력하기 (정답과 입력값을 비교하기 위한 게임 로직 필요)위에서 생성한 정답 숫자와 입력 받은 숫자를 비교.  4. 정답을 맞출 때까지 숫자 입력을 반복  진행 순서는 1 -> 2 -> 3 -> 4 2번에서 Scanner..

Java/기타 2024.09.12

Java 문법 10 (제네릭)

타입을 유연하게 다루는 제네릭. 중복되거나 필요 없는 코드를 줄여주는 동시에 타입 안정성을 해치지 않는다.더보기// 1.제네릭은 클래스 또는 메서드에 사용 가능하다.// 클래스 이름 뒤에 (에 들어갈 타입 변수로 T, U, V, E 같은 문자를 사용, 컨벤션)를 사용하여 타입 변수 선언.// 선언해놓은 타입 변수는 클래스 안에서 특정한 타입이 들어갈 자리에 사용할 수 있다.// Generic 클래스를 원시 타입이라고 한다.public class Generic { // 2. 내부 필드에 T는 String private T t; // 3. 메서드의 return 타입도 String public T get() { return this.t; } public void s..

Java/Java 문법 2024.09.10

Java 문법 9 (오류 및 예외)

오류(Error)는 일반적으로 회복이 불가능한 문제입니다.이는 시스템 레벨에서, 또는 주로 환경적인 이유로 발생합니다.코드의 문제로 발생하는 경우도 있지만, 일단 발생하는 경우 일반적으로 회복이 불가능합니다.에러가 발생한 경우 우리는 어떠한 에러로 프로그램이 종료되었는지를 확인하고 대응합니다.예외(Exception)는 일반적으로 회복이 가능한 문제입니다.회복이 가능하다는 전제는 우리가 “그 예외가 발생할 수 있다는 것을 인지하고, 대응했을 것입니다”.현실적으로 코드 레벨에서 할 수 있는 문제 상황에 대한 대응은 “예외 처리”에 속합니다.코드 실행 관점에서 예외의 종류컴파일 에러(예외) .java 파일을 .class 파일로 컴파일할 때 발생하는 에러대부분 여러분이 자바 프로그래밍 언어의 규칙을 지키지 않았..

Java/Java 문법 2024.09.09

1, 2주차 과제 다시 하기.

Java 문법 강의에서 주차별 숙제를 내준다. 그런데 숙제를 다시 해야한다..... 공부를 하다보니 숙제에서 요구했던 대로 코딩 하지 않았다는 걸 깨달았다. 용어가 낯설다보니 나 편한대로 생각했다.  1주차 숙제 -요구 사항 : 입력값내가 좋아하는 요리 제목을 먼저 입력합니다.요리 별점을 1~5 사이의 소수점이 있는 실수로 입력해 주세요. (ex. 3.5)이어서 내가 좋아하는 요리 레시피를 한 문장씩 10문장을 입력합니다. 출력값입력이 종료되면 요리 제목을 괄호로 감싸서 먼저 출력해 줍니다.이어서, 요리 별점을 소수점을 제외한 정수로만 출력해 줍니다. (ex. 3)바로 뒤에 정수 별점을 5점 만점 퍼센트로 표현했을 때 값을 실수로 출력해 줍니다. (ex. 60.0%)이어서, 입력한 모든 문장 앞에 번호를..

Java/기타 2024.09.07