Java 37

숫자 야구 게임 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

Java 문법 8 (인터페이스)

인터페이스 : 상속 관계가 없는 다른 클래스들이 서로 동일한 행위 즉, 메서드를 구현해야 할 때 인터페이스는 구현 클래스들의 동일한 사용 방법과 행위를 보장한다.  두 객체를 연결해 주는 다리 역할을 한다.사람과 삼성티비, 엘지티비 객체가 존재한다고 생각해 보겠습니다.사람 객체는 멀티 리모컨 인터페이스를 통해서 삼성티비 객체의 채널을 변경할 수 있습니다.이때 삼성티비가 아니라 엘지티비로 객체가 교체된다고 해도 채널을 변경할 수 있습니다.인터페이스는 스팩이 정의된 메서드들의 집합입니다.인터페이스의 구현 클래스들은 반드시 정의된 메서드들을 구현해야 합니다.따라서 구현 클래스들의 동일한 사용 방법과 행위를 보장해 줄 수 있습니다.이러한 특징은 인터페이스에 다형성을 적용할 수 있게 만들어 줍니다.interfac..

Java/Java 문법 2024.09.06

Java 문법7 (상속)

클래스 간의 관계와 상속 📌 상속의 사전적 정의는 부모가 자식에게 물려주는 행위를 말합니다.객체 지향 프로그램에서도 부모 클래스의 필드와 메서드를 자식 클래스에게 물려줄 수 있습니다.상속을 사용하면 적은 양의 코드로 새로운 클래스를 작성할 수도 있고 공통적인 코드를 관리하여 코드의 추가와 변경이 쉬워질 수도 있습니다.이러한 특성 때문에 상속을 사용하면 코드의 중복이 제거되고 재사용성이 크게 증가하여 생산성과 유지 보수성에 매우 유리해집니다.   상속 : 클래스 간의 상속은 extends 키워드를 사용하여 정의할 수 있습니다.public class 자식클래스 extends 부모클래스 {} 상속의 키워드는 extends입니다. 눈치채셨나요? 🤔우리는 상속의 개념을 확장의 개념으로 이해해야 합니다.자칫하여..

Java/Java 문법 2024.09.06