728x90
Collection 을 사용하여 여러가지 간단한 문제를 구현해 보도록 합니다 뚜둔.
1. 다섯 명을 입력받고 이 씨 성인 사람을 출력하는 프로그램입니다
조건 : list을 활용하여 과제를 완성합니다.
package week2.assignment_1;
import java.util.*;
public class assignment_1_1 {
// 이씨 성을 가진 사람을 찾는 메소드
public static void findLees(List<String> list){
for(String name : list){
if(name.contains("이")){
System.out.println(name);
}
}
}
public static void printProgramStart(){
System.out.println("이 씨 성인 사람 찾아내는 프로그램");
System.out.println("==============================");
System.out.println("다섯명의 사람 이름을 한 줄씩 입력합니다.");
}
public static void main (String[] args){
List<String> nameList = new ArrayList();
Scanner sc = new Scanner(System.in);
printProgramStart();
for(int i=0;i<5;i++){
String name = sc.next();
nameList.add(name);
}
findLees(nameList);
}
}
이 씨 성인 사람 찾아내는 프로그램
==============================
다섯명의 사람 이름을 한 줄씩 입력합니다.
윤도운
이진기
이민기
신예찬
신광일
이진기
이민기
2. 로또 번호를 생성하는 프로그램입니다.
조건 : set을 활용하여 과제를 완성합니다.
package week2.assignment_1;
import java.util.HashSet;
import java.util.Iterator;
import java.util.Scanner;
import java.util.Set;
public class likelion_201902679_KHJ_02_set {
public static Set<Integer> getRandomNum(int num){
Set<Integer> randomNum = new HashSet<>();
while(randomNum.size()<num){
int randomInteger = (int)(Math.random()*45)+1;
randomNum.add(randomInteger);
}
return randomNum;
}
public static void printrandomNum(Set<Integer> set){
StringBuilder stringBuilder = new StringBuilder();
stringBuilder.append("생성된 로또번호: [");
Iterator<Integer> iterator = set.iterator();
while(iterator.hasNext()) {
int numInSet = iterator.next();
stringBuilder.append(numInSet);
if(iterator.hasNext()) stringBuilder.append(", ");
}
stringBuilder.append("]");
System.out.println(stringBuilder);
}
public static void main(String args[]){
Scanner sc = new Scanner(System.in);
Set<Integer> randomNumSet;
System.out.print("로또 번호를 몇개 생성하시겠습니까? ");
int inputNum = sc.nextInt();
randomNumSet = getRandomNum(inputNum);
printrandomNum(randomNumSet);
}
}
로또 번호를 몇개 생성하시겠습니까? 5
생성된 로또번호: [3, 21, 41, 45, 30]
Set은 값을 가져올 수 있는 get 메소드가 없답니당
그래서 Iterator 라는 반복자를 사용하여 값을 가져와야 한답니당
그리고 출력을 하려고 보니까 프린트 문이 넘무 더러워지길래
쪼꼼 깔꼼하게 쓰고 싶어서 간만에 생각난 Stringbuilder를 사용했답니당
한 3년만에 썼는데용
1학년때는 Stringbuilder도 그렇고 Iterator도 그렇고 쟤네가 뭔지도 모르겠고 그냥 무서웠는데
이제 그냥 아무 생각 없는 존재가 되었다는게 새삼 신기하네여
3. 문자열을 거꾸로 출력하는 프로그램입니다.
조건 : stack을 활용하여 과제를 완성합니다.
package week2.assignment_1;
import java.util.Scanner;
import java.util.Stack;
public class likelion_201902679_KHJ_03_stack {
public static Stack<Character> stringToStack(String str){
Stack<Character> originCharStack = new Stack<>();
for(char c : str.toCharArray()){
originCharStack.push(c);
}
return originCharStack;
}
public static void printReversed(Stack<Character> orgStack){
StringBuilder stringBuilder = new StringBuilder();
while (!orgStack.empty()){
stringBuilder.append(orgStack.pop());
}
System.out.println("문자열 출력 : "+stringBuilder);
}
public static void main(String args[]){
Scanner sc = new Scanner(System.in);
System.out.print("문자열을 입력하세요 : ");
String inputStr = sc.next();
System.out.println("거꾸로 출력합니다.");
Stack<Character> originCharStack = stringToStack(inputStr);
printReversed(originCharStack);
}
}
문자열을 입력하세요 : olleh
거꾸로 출력합니다.
문자열 출력 : hello
Stack은 FILO(First In Last Out) 랍니다.
그래서 거꾸로 출력하려면 파파팝 팝팝 하면서 뒤에서부터 야무지게 꺼내주면 돼요
야호!
728x90
'🦁 걸어봐 위엄 라잌어 라이옹 > 👀 주차별 과제' 카테고리의 다른 글
[대학교멋사🦁/OOD] 2. 다형성 추상화 (0) | 2023.05.04 |
---|---|
[대학교멋사🦁/OOD] 1. 객체 | 캡슐화 (1) | 2023.05.04 |
[대학교멋사🦁/JAVA] Assignment_2회차_3 (1) | 2023.04.28 |
[대학교멋사🦁/JAVA] Assignment_2회차_2 (0) | 2023.04.28 |
[대학교멋사🦁/Backend] Assignment_week1 (0) | 2023.04.03 |