사용자로부터 문자열을 입력 받고 문자열에서 검색될 문자를 입력 받아 해당 문자열에 그 문자가 몇 개 있는지 개수를 출력하세요.
ex. 문자열 : banana 문자 : a banana 안에 포함된 a 개수 : 3
Scanner sc = new Scanner(System.in);
System.out.print("문자열 : ");
String str = sc.nextLine();
System.out.print("문자 : ");
char str1 = sc.nextLine().charAt(0);
int result = 0;
for(int i = 0; i < str.length(); i++) {
if(str.charAt(i) == str1) {
result ++;
}else {
continue; }
}
System.out.printf("%s 안에 포함된 %s 개수 : %d", str, str1,result);
sc.close();
문제 04.
위 문제와 모든 것이 동일하고, “더 하시겠습니까?”라고 추가로 물어보도록 하세요. 이 때, N이나 n이 나오면 프로그램을 끝내고 Y나 y면 계속 진행하도록 하되 Y, y, N, n이 아닌 다른 문자를 입력했을 경우 “잘못된 대답입니다. 다시 입력해주세요.”를 출력하고 더 하겠냐는 물음을 반복하세요.
ex. 문자열 : application 문자 : a 포함된 개수 : 2 더 하시겠습니까? (y/n) : y 문자열 : business 문자 : s 포함된 개수 : 3 더 하시겠습니까? (y/n) : k 잘못된 대답입니다. 다시 입력해주세요. 더 하시겠습니까? (y/n) : Y 문자열 : ant 문자 : b 포함된 개수 : 0 더 하시겠습니까? (y/n) : N
1부터 100 사이의 정수 중 임의의 난수가 정해지고 사용자는 정해진 난수를 맞추는데 몇 번 만에 맞췄는지 출력하세요.
ex. 90 1~100 사이의 임의의 난수를 맞춰보세요 : 0 1~100 사이의 숫자를 입력해주세요. 1~100 사이의 임의의 난수를 맞춰보세요 : 101 1~100 사이의 숫자를 입력해주세요. 1~100 사이의 임의의 난수를 맞춰보세요 : 50 UP ! 1~100 사이의 임의의 난수를 맞춰보세요 : 75 UP ! 1~100 사이의 임의의 난수를 맞춰보세요 : 83 UP ! 1~100 사이의 임의의 난수를 맞춰보세요 : 93 DOWN ! 1~100 사이의 임의의 난수를 맞춰보세요 : 89 UP ! 1~100 사이의 임의의 난수를 맞춰보세요 : 92 DOWN ! 1~100 사이의 임의의 난수를 맞춰보세요 : 90 정답입니다 !! 7회만에 맞추셨습니다.
int random = (int) (Math.random() * 100 + 1);
Scanner sc = new Scanner(System.in);
int count = 1;
System.out.println(random);
while(true) {
System.out.print("1 ~ 100 사이의 난수를 맞춰보세요 : ");
int num = sc.nextInt();
if(num > 0 && num < 101) {
if(random == num) {
System.out.println("정답입니다 !!");
System.out.printf("%d회만에 맞추셨습니다.",count);
break;
}else if(random > num) {
System.out.println("UP !");
count++;
}else {
System.out.println("DOWN !");
count++;
}
}else {
System.out.println("1~100 사이의 숫자를 입력해주세요.");
}
}
sc.close();
문제 06.
사용자의 이름을 입력하고 컴퓨터와 가위바위보를 하세요. 컴퓨터가 가위인지 보인지 주먹인지는 랜덤한 수를 통해서 결정하도록 하고, 사용자에게는 직접 가위바위보를 받으세요. 사용자가 “exit”를 입력하기 전까지 가위바위보를 계속 진행하고 “exit”가 들어가면 반복을 멈추고 몇 번의 승부에서 몇 번 이기고 몇 번 비기고 몇 번 졌는지 출력하세요
public void rps2() {
Scanner sc = new Scanner(System.in);
// 필요한 자원 -> 변수
int total = 0; // 전
int win = 0; // 승
int tie = 0; // 무
int lose = 0; // 패
System.out.print("당신의 이름을 입력해주세요 : ");
String name = sc.nextLine();
while(true) {
System.out.print("가위바위보 : ");
String rps = sc.nextLine(); // exit
int random = (int)(Math.random()*3 + 1);
String com = "";
switch(random){ // 1 2 3
case 1:
com = "가위";
break;
case 2:
com = "바위";
break;
case 3:
com = "보";
break;
}
if(rps.equals("exit")) { // exit를 입력한 경우에는 종료
// 전승무패 출력
System.out.println(total + "전 " + win + "승 " + tie + "무 " + lose + "패");
// 종료
break;
}else if(rps.equals("가위") || rps.equals("바위") || rps.equals("보")) { // 잘입력한 경우
total ++;
System.out.println("컴퓨터 : " + com); // 컴퓨터 : 가위(랜덤값)
System.out.println(name + " : " + rps); // 이원종 : 보(내가 입력한 값)
if(com.equals("가위")) { // 컴퓨터가 가위를 낸 경우
switch(rps) {
case "가위" :
System.out.println("비겼습니다.");
tie ++;
break;
case "바위" :
System.out.println("이겼습니다.");
win ++;
break;
case "보" :
System.out.println("졌습니다.");
lose ++;
break;
}
}else if(com.equals("바위")) { // 컴퓨터가 가위를 낸 경우
switch(rps) {
case "바위" :
System.out.println("비겼습니다.");
tie ++;
break;
case "보" :
System.out.println("이겼습니다.");
win ++;
break;
case "가위" :
System.out.println("졌습니다.");
lose ++;
break;
}
}else if(com.equals("보")) { // 컴퓨터가 가위를 낸 경우
switch(rps) {
case "보" :
System.out.println("비겼습니다.");
tie ++;
break;
case "가위" :
System.out.println("이겼습니다.");
win ++;
break;
case "바위" :
System.out.println("졌습니다.");
lose ++;
break;
}
}
}else {
System.out.println("잘못 입력하셨습니다.");
}
}
}