728x90
1. String 배열의 생성&선언
- String 배열은 기본형이 아닌 참조형!! 이 때문에 기본값에 'null'이 들어감
String[] name = new String[3]; // 3개의 문자열을 담을 수 있는 배열을 생성
name = {"anne", "pray", "Reon"}
- String 활용해서 가위바위보 게임 만들기!! 내가 만들 가위바위보 게임의 조건은 다음과 같다.
- 조건 1. while, switch 사용하기 : 1,2,3으로 입력받고 99로 끝내기(if 문 두번 사용하지 않기)
- 조건 2. String 배열 사용하기
- 조건 3. Buffer 사용해서 입력받기(출력은 println 사용하기)
- 여기서 좀 더 고치면 출력도 bufferedWriter 로 하는 방법과 코드를 줄이는 방법 정도?
import java.io.*;
import java.util.Arrays;
public class Practice_18_2 {
public static void main(String[] args) throws IOException{
string_1();
}
static void string_1() throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
String[] strArr = { "가위", "바위", "보"};
System.out.println(Arrays.toString(strArr));
menu :
while(true) { // 무한 반복
int n = (int)(Math.random()*3); // 0 ~ 2, 배열에서 임의의 숫자 가져오기
// System.out.println(strArr[n]);
System.out.println();
System.out.println("가위바위보 선택해주세요 : 1.가위, 2.바위, 3.보");
System.out.println("끝내려면 99 를 입력해주세요");
int num = Integer.parseInt(br.readLine());
if(num==99) { // 99 입력받으면 끝내기
break menu;
}
switch(num) { // switch 문 사용하기, num이 각각 번호일때
case 1:
if(strArr[n]=="가위") {
System.out.println("당신의 선택 : 가위");
System.out.println("컴퓨터의 선택 : "+strArr[n]);
System.out.println("무승부입니다");
}else if(strArr[n]=="바위"){
System.out.println("당신의 선택 : 가위");
System.out.println("컴퓨터의 선택 : "+strArr[n]);
System.out.println("당신이 졌습니다");
}else if(strArr[n]=="보") {
System.out.println("당신의 선택 : 가위");
System.out.println("컴퓨터의 선택 : "+strArr[n]);
System.out.println("당신이 이겼습니다");
}
break;
case 2:
if(strArr[n]=="가위") {
System.out.println("당신의 선택 : 바위");
System.out.println("컴퓨터의 선택 : "+strArr[n]);
System.out.println("당신이 이겼습니다");
}else if(strArr[n]=="바위"){
System.out.println("당신의 선택 : 바위");
System.out.println("컴퓨터의 선택 : "+strArr[n]);
System.out.println("무승부 입니다");
}else if(strArr[n]=="보") {
System.out.println("당신의 선택 : 바위");
System.out.println("컴퓨터의 선택 : "+strArr[n]);
System.out.println("당신이 졌습니다");
}
break;
case 3:
if(strArr[n]=="가위") {
System.out.println("당신의 선택 : 보");
System.out.println("컴퓨터의 선택 : "+strArr[n]);
System.out.println("당신이 졌습니다");
}else if(strArr[n]=="바위"){
System.out.println("당신의 선택 : 보");
System.out.println("컴퓨터의 선택 : "+strArr[n]);
System.out.println("당신이 이겼습니다");
}else if(strArr[n]=="보") {
System.out.println("당신의 선택 : 보");
System.out.println("컴퓨터의 선택 : "+strArr[n]);
System.out.println("무승부입니다");
}
break;
}
}
br.close();
bw.flush();
bw.close();
}
}
2. 커맨드 라인으로 입력받기
public class Practice_19 {
public static void main(String[] args) {
System.out.println("매개변수의 개수 : "+args.length);
for(int i=0; i<args.length; i++) {
System.out.println("args ["+i+"] = "+args[i]);
}
}
위와 같은 코드가 있을 때 기본적으로 입력받을때는 sacnner 를 사용하거나 bufferedreader 를 사용해야하는데 이러한 방법이 아니라 커맨드 라인과 이클립스 args 를 이용해 입력 받을 수 있다.
이클립스에서 바로 출력하는 방법은 다음과 같다.
1. 입력할때 run -> run configurations -> Arguments 로 들어간다.
2. Arguments 에 내용을 입력한다.
3. Run 을 눌러 실행
Arguments 에 적어놓은 문자들이 String[] args 로 넘어가고 해당 내용들이 출력된다.
두번째는 cmd 를 이용하는 방법이다. cmd를 이용할 때는 .java 파일이 아닌 .class 파일을 사용해야한다.
1. 먼저 이클립스에서 Art+Enter 를 눌러 Location 에서 해당 위치를 .java 파일의 위치를 확인할 수 있고, .class 파일은 src 에서 bin 폴더안에서 찾을 수 있다.
2. 이후 cmd 창을 열어 bin 폴더까지 이동한 후 명령어를 실행한다.
3. 명령어는 java [패키지 이름].[클래스파일 이름]
4. java [패키지 이름].[클래스파일 이름] [파라미터1] [파라미터2] -- 이런식으로 파라미터를 붙여서 출력할 수 있다.
'Java - 기본기' 카테고리의 다른 글
13. String 클래스, Arrays로 배열 다루기(feat. String 클래스 매서드, Arrays 클래스 매서드) (0) | 2021.10.14 |
---|---|
12. 2차원 배열 기초 & 활용(feat. String 값 비교하기 & 2차원 배열을 활용한 문제 만들기) (0) | 2021.10.14 |
10. 배열 다루기 활용편 (2) : 총합, 평균, 섞기, 로또 만들기 (0) | 2021.10.11 |
9. 배열 다루기 기초편 (1) : 배열의 생성, 선언, 인덱스 (0) | 2021.10.08 |
8. 조건문과 반복문 기초&활용(3) - break, contiune, 이름붙은 반복문(feat. 미니 게임 만들기 & 제곱근, 로그 계산기) (0) | 2021.10.04 |
댓글