JAVA/코드 22

과제 2번 - Thread 와 동기화

가족 공동 계좌가 있습니다. 만원 저금이 되어있습니다. 예) 엄마 / 아빠 / 동생 / 나 1000  2000  3000  5000 동기화 처리를 하셔서, 돈이 정상적으로 출금될수있도록 코딩해주세요.한글코딩(개요위주)돈을 인출하려고 한다.  가족 공동 계좌는 가족이라면 계좌이용 가능 계좌에는 만원이 들어있고 모든 가족이 접근이 가능하기 때문에 공유자원 쓰면 줄어드는 자원이기 때문에 마이너스가 되면 공유자원을 이용하지 못한다 (동기화가 필요=>마이너스가 되어도 인출이 가능해지는 사고를 막기위해 ) 돈이 정상적으로 출력하려면 만약 엄마가 1000원을 사용했을 때(10000-1000=9000)       아빠가 2000원을 사용했을 때(9000-2000=7000)       동생이 3000원을 사용했을 때(7..

JAVA/코드 2025.01.22

과제 1번 - 입출력(IO)을 이용한 업다운 게임

문제)test.txt 파일에 1~100 사이의 정수를 하나 입력한 후 저장합니다. 사용자와 업다운게임을 진행합니다. test.txt 파일에 저장된 정수가 80이라면, 1~100 사이의 정수입력 >> 50 업! 51~100 사이의 정수입력 >> 90 다운! 51~89 사이의 정수입력 >> 80 정답입니다! 총 3번만에 정답을 맞추셨습니다. 라고 출력해주세요. 그리고 "총 3번만에 정답을 맞추셨습니다."라는 내용의 result.txt 파일을 생성해주세요. +) 오류사항에 대하여 1~90 사이의 정수입력 >> 91 잘못된 입력입니다! 범위에 맞게 입력해주세요! 1~19 사이의 정수입력 >> 사과 잘못된 입력입니다! 정수로 입력해주세요! 이렇게 오류 문구를 출력해주시고, 이는 정답맞추기 시도횟수 카운팅 대상이 ..

JAVA/코드 2025.01.21

컬렉션 프레임워크 문제풀기

잠깐만!!!ArrayList a1=new ArrayList();a1.add(null)=new Circle(); a1.add(new Circle()); //무명객체 : 코드가 짧아서;object의 실제 객체는 원 Circle circle=(Circle)obj; //강제 형변환 (다운캐스팅) public boolean equals(object obj) {//equals는 급이 맞아야 함 if(!(obj instanceof Circle)) { retrun false;} => 중요 instanceof 다음 다운캐스팅이 기다리고 있다  문제) 원을 생성하기 위해서는 이름과 반지름이 반드시 필요합니다.         캡슐화를 수행해주세요. 원 객체를 3개 생성하여 리스트에 저장해주세요. 리스트에서 가장 넓이가 큰 ..

JAVA/코드 2025.01.21

컬렉션 프레임워크 문제(과제)

문제) 모든 점 객체들을 저장할 수 있는 리스트에 임의로 10개의 점 객체들을 저장해주세요         점들은 좌표가 같다면 같은 점으로 판단합니다          [0]에 저장된 점과 같은 점은 몇개인지 출력해주세요          색을사용자에게 입력받아서 같은 색의 점이 몇개인지 출력해주세요package practice;import java.util.ArrayList;import java.util.HashSet;import java.util.Scanner;import java.util.Set;class Point { private int x; private int y; Point(){ this(0,0); } Point(int x,int y){ this..

JAVA/코드 2025.01.21

TEAM과제 -삼중상속

package test;import java.util.Random;import java.util.Scanner;abstract class Animal { //만든 클래스 중 제일 상위 추상 클래스 private String name; //멤버변수 private 선언 private String type; private String habitat; private String food; private int hp; private int cnt; static Random rand=new Random(); //모두 가져다 쓸 수 있도록 Random, Scanner 계속 사용할거라 객체와 무관한 static으로 멤버변수화 static Scanner sc=new Scann..

JAVA/코드 2025.01.18

학생부 프로그램 마무리와 코드리뷰 - 객체배열

package class06; import java.util.Scanner; //객체 배열 class Student {    static int studentNum=1001;    int num; // PK 값은 사용자가 부여 xxx    String name;    int score;    char grade;    Student(String name){       this(name,0);    }    Student(String name,int score){       this.num=Student.studentNum++;       this.name=name;       this.score=score;       this.setGrade();       System.out.println("학생 정보..

JAVA/코드 2025.01.14

객체 배열- 학생부 프로그램

import Practice.Student; class Student { //학생은 번호, 이름, 점수, 등급 변수를 가지고 있다. static int studentnum; //학생 번호는 1001부터 시작한다.번호와 학생번호 유의! int num; String name; int score; char grade;  Student(String name) {//생성자 함수- 초기화를 위해 this.name=name; //이름, 점수, 등급은 외부에서 받고 번호는 1001부터 차례로 증가; this.num=Student.studentnum++; this.score=0; this.grade='A'; } Student(String name,int score) { this.name=name; this.num=Stu..

JAVA/코드 2025.01.13

코드리뷰 ①- 선택정렬

package work;import java.util.Random; import java.util.Scanner; public class Main {       public static int getNumber() {       Scanner scanner = new Scanner(System.in);       int n;       while (true) { // 사용자가 올바른 숫자를 입력할때까지 계속 물어보기          System.out.print("정렬할 숫자의 개수를 입력하세요 (3 이상, 10 이하): ");          n = scanner.nextInt(); //입력받을 숫자 저장 => n           if (3            break;  // 숫자가 3 이상, 1..

JAVA/코드 2025.01.09