Notice
Recent Posts
Recent Comments
Link
«   2024/06   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30
Tags
more
Archives
Today
Total
관리 메뉴

WON.dev

Test . collection_framework 본문

JAVA/chapter23_collection_framework

Test . collection_framework

GAWON 2023. 5. 31. 09:15
Q1. Test01.java

게시물을 저장하는 Board 클래스를 정의하고, ArrayList를 이용하여 3개의 게시물을 저장하시오.
1~3번 게시물번호 중 하나를 입력 받아 해당 게시물을 삭제하시오.

class Board			필드 : String title, String content, Date register
							register -> 현재 날짜 자동 삽입
					메소드 : 생성자, toString()

	
Q2. Test02.java
로또 & 빙고 (빙고가 어려우면 로또부터 해보기)
Set을 이용하여 5 X 5 Bingo 배열을 생성하시오. (1 ~ 25)
Set에 랜덤 생성 -> Bingo 2차원 배열에 저장
package org.joonzis.test;
//게시물을 저장하는 Board 클래스를 정의하고, ArrayList를 이용하여 3개의 게시물을 저장하시오.
//1~3번 게시물번호 중 하나를 입력 받아 해당 게시물을 삭제하시오.
//
//class Board			필드 : String title, String content, Date register
//							register -> 현재 날짜 자동 삽입
//					메소드 : 생성자, toString()

import java.text.SimpleDateFormat;
import java.util.*;


class Board{
	private String title, content;
	private Date register;
	public Board(String title, String content) {
		this.title = title;
		this.content = content;
		this.register = new Date();
	}
	@Override
	public String toString() {
		StringBuffer sb = new StringBuffer();
		sb.append("제목 : ").append(title).append("\n");
		sb.append("내용 : ").append(content).append("\n");
		sb.append("등록일 : ").
		append(new SimpleDateFormat("yyyy년 MM월 dd일 E요일").format(register)).append("\n");
		return sb.toString();
	}
}
public class Test01 {
	public static void main(String[] args) {
		
		List<Board> list = new ArrayList<Board>();
		
		list.add(new Board("1. 공지사항", "모든 회원 필독"));
		list.add(new Board("2. 알림", "관리자만 필독"));
		list.add(new Board("3. 요청", "모든 회원 필독"));
		
		for(int i=0; i<list.size(); i++) {
			System.out.println(list.get(i));
		}
		
		Scanner sc = new Scanner(System.in);
		System.out.print("삭제할 게시물 번호 (1~3) >> ");
		int num = sc.nextInt();
		
		list.remove(num-1);
		
		for(int i=0; i<list.size(); i++) {
			System.out.println(list.get(i));
		}
		
		
		
		
		
	}
}
package org.joonzis.test;

import java.util.Arrays;
import java.util.HashSet;
import java.util.Iterator;
import java.util.LinkedHashSet;
import java.util.Random;
import java.util.Scanner;
import java.util.Set;

//Q2. Test02.java
//로또 & 빙고 (빙고가 어려우면 로또부터 해보기)
//Set을 이용하여 5 X 5 Bingo 배열을 생성하시오. (1 ~ 25)
//Set에 랜덤 생성 -> Bingo 2차원 배열에 저장 
public class Test02 {
	public static void main(String[] args) {
		
		/*
		 * HashSet으로 빙고 이용시 숫자 오름차순 정렬 증상
		 *  - set의 특성상 입력 순서가 출력 순서와 같은 것은 아님
		 *  - 적은 데이터가 일률적으로 들어갈 시 오름차순 정렬 증상 발생
		 *  - 로또의 경우 45개의 데이터 중 6개만을 입력하여 문제 x
		 *  - 빙고의 경우 25개의 데이터 중 25개를 그대로 사용하여 증상 발생
		 */
		
		
		
		// 1. 로또
		/*
		 * System.out.println("<LOTTO>");
		 * 
		 * Random ran = new Random(); Set<Integer> set = new HashSet<Integer>();
		 * 
		 * while(set.size() < 6) { set.add(ran.nextInt(45)+1); }
		 * 
		 * int[] lotto = new int[6]; Scanner sc = new Scanner(System.in); for(int i=0;
		 * i<lotto.length; i++) { System.out.print((i+1) + "번 숫자 입력 >> "); lotto[i] =
		 * sc.nextInt(); }
		 * 
		 * System.out.println("로또 번호 : " + set); System.out.println("선택한 번호 : " +
		 * Arrays.toString(lotto));
		 * 
		 * 
		 * int cnt = 0; String resultStr = ""; Iterator<Integer> itr = set.iterator();
		 * while(itr.hasNext()) { int tmp = itr.next(); for(int i=0; i<lotto.length;
		 * i++) { if(tmp == lotto[i]) { cnt++; resultStr += lotto[i] + " "; } } }
		 * 
		 * System.out.println("맞은 개수 : " + cnt); System.out.println("맞은 번호 : " +
		 * resultStr);
		 */
		
		// 2. 빙고
		System.out.println("<BINGO>");
		
		Random ran = new Random();
		Set<Integer> set = new LinkedHashSet<Integer>();
		while(set.size() < 25) {
			set.add(ran.nextInt(25)+1); 
		}
		
		int[][] bingo = new int[5][5];
		
		Iterator<Integer> itr = set.iterator();
		
		for(int i=0; i<bingo.length; i++) {
			for(int j=0; j<bingo[i].length; j++) {
				bingo[i][j] = itr.next();
				System.out.print(bingo[i][j] + "\t");
			}
			System.out.println();
		}
		
	}
}

'JAVA > chapter23_collection_framework' 카테고리의 다른 글

chapter06 : HashMap  (0) 2023.05.31
chapter05 : TreeSet  (0) 2023.05.31
chapter04 : HashSet  (0) 2023.05.31
chapter03 : LinkedList  (0) 2023.05.31
chapter02 : iterator  (0) 2023.05.31