728x90
문제
사용자는 최소 27가지 이상의 닉네임 중 하나를 랜덤으로 출력할 수 있습니다. (아래의 키워드를 사용해주세요!)
- 기철초풍, 멋있는, 재미있는
- 도전적인, 노란색의, 바보같은
- 돌고래, 개발자, 오랑우탄
코드 생각
- 각각의 닉네임을 랜덤으로 추출해야 하기 때문에 Random 라이브러리를 사용해야겠다고 생각했습니다.
- 자료 구조형을 리스트로 하여서 추출해 보기로 했습니다.
- 최종 출력될 자료형은 문자열이 되도록 해야겠다고 생각했습니다.
- 랜덤 닉네임을 생성하는 것은 하나의 기능이기 때문에 실행될 Main Class와 분리해 개별 Class에 작성해야겠다고 생각했습니다.
개발 코드
RandomNicknameGenerator Class
import java.util.Random;
import java.util.ArrayList;
import java.util.Arrays;
public class RandomNicknameGenerator {
//랜덤으로 추출할 키워드를 담은 List 생성
ArrayList<String> firstList = new ArrayList<>(Arrays.asList("기절초풍","멋있는","재미있는"));
ArrayList<String> secondList = new ArrayList<>(Arrays.asList("도전적인","노란색의","바보같은"));
ArrayList<String> thirdList = new ArrayList<>(Arrays.asList("돌고래","개발자","오랑우탄"));
public String createNickname(){
//랜덤 이름을 담을 리스트 생성
ArrayList<String> nicknameList = new ArrayList<>();
//랜덤 변수 생성
Random random = new Random();
int randomIndex;
//첫번째 리스트에서 이름 랜덤 추출
randomIndex = random.nextInt(firstList.size());
nicknameList.add(firstList.get(randomIndex));
//두번째 리스트에서 이름 랜덤 추출
randomIndex = random.nextInt(secondList.size());
nicknameList.add(secondList.get(randomIndex));
//세번째 리스트에서 이름 랜덤 추출
randomIndex = random.nextInt(thirdList.size());
nicknameList.add(thirdList.get(randomIndex));
//생성된 랜덤 이름 리스트를 문자열로 변환하여 반환할 변수 생성
String nickName = String.join(" ",nicknameList);
return nickName;
}
}
Main Class
public class Main {
public static void main(String[] args) {
RandomNicknameGenerator randomNicknameGenerator=new RandomNicknameGenerator();
String nickName = randomNicknameGenerator.createNickname();
System.out.println(nickName);
}
}
코드 개발 전에 생각한 데로 기능을 실행할 클래스를 `RandomNicknameGenerator`로 따로 코딩하여 `Main` 클래스에서 호출하는 방식으로 구성하였습니다.
`RandomNicknameGenerator` 클래스에서 랜덤 변수를 생성하여 랜덤 변수로 각 리스트 안에서 닉네임을 추출하여 리스트 자료형에 넣어주었습니다. 추출한 닉네임을 가지고 있는 리스트를 문자열로 바꿔주어 문자열 변수에 넣어주어 반환하는 작업을 거쳐 출력되는 로직으로 구성하였습니다.
실행 화면
기억해 둘 코드
Array.asList로 String자료형을 여러 개 전달하여 리스트 생성하기
import java.util.ArrayList;
import java.util.Arrays;
ArrayList<String> firstList = new ArrayList<>(Arrays.asList("기절초풍","멋있는","재미있는"));
String.join을 사용하여 리스트 자료형을 문자열 자료형으로 바꿔주기
String nickName = String.join(" ",nicknameList);
랜덤 변수로 리스트에서 랜덤으로 문자열 추출해서 삽입하기
import java.util.Random;
import java.util.ArrayList;
Random random = new Random();
int randomIndex;
randomIndex = random.nextInt(firstList.size());
nicknameList.add(firstList.get(randomIndex));
728x90
'수수한 코딩세상 > Java' 카테고리의 다른 글
[Java] 문자열(String)로 알아보는 == 연산자와 equals() 메서드 차이 (0) | 2024.07.29 |
---|---|
[Java] 자바에서 입력 받는 방법 System.in & Scanner 클래스 (0) | 2024.07.26 |
[Java] 요리 레시피 노트패드로 알아보는 next(), nextLine() 차이점 (1) | 2024.07.24 |
[Java] Java 란? (0) | 2024.06.18 |
[Java] IntelliJ 설치방법 (1) | 2024.04.24 |