[문제 1] 치환하는 프로그램을 작성하시오 - indexOf(?, ?), replace()
String 클래스의 메소드를 이용하시오
대소문자 상관없이 개수를 계산하시오
[실행결과]
문자열 입력 : aabba
현재 문자열 입력 : aa
바꿀 문자열 입력 : dd
ddbba
1번 치환
문자열 입력 : aAbbA
현재 문자열 입력 : aa
바꿀 문자열 입력 : dd
ddbba
1번 치환
문자열 입력 : aabbaa
현재 문자열 입력 : aa
바꿀 문자열 입력 : dd
ddbbdd
2번 치환
문자열 입력 : AAccaabbaaaaatt
현재 문자열 입력 : aa
바꿀 문자열 입력 : dd
ddccddbbddddatt
4개 치환
문자열 입력 : aabb
현재 문자열 입력 : aaaaa
바꿀 문자열 입력 : ddddd
입력한 문자열의 크기가 작습니다
치환 할 수 없습니다
StringRep.java
package homework;
import java.util.Scanner;
public class StringRep {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int count = 0;
for(int i=0; i<5; i++) {
System.out.print("문자열 입력 : ");
String user = scan.next();
System.out.print("현재 문자열 입력 : ");
String before = scan.next();
System.out.print("바꿀 문자열 입력 : ");
String after = scan.next();
System.out.println("user.indexOf(before, j) = " + user.indexOf(before, 1));
if(user.length()< before.length() || user.length()< after.length()) {
System.out.println("입력한 문자열의 크기가 작습니다");
System.out.println("치환 할 수 없습니다 ");
}else {
for(int j=0; j<user.length(); j++) {
if(user.indexOf(before, j) != -1){
count++;
j = user.indexOf(before, j) + before.length();
}
System.out.println(user.toLowerCase().replace(before, after));
}
System.out.println();
}
}
}
}
문자열 입력 : aabba
현재 문자열 입력 : aa
바꿀 문자열 입력 : dd
ddbba
1번 치환
문자열 입력 : aAbbA
현재 문자열 입력 : aa
바꿀 문자열 입력 : dd
ddbba
1번 치환
문자열 입력 : aabbaa
현재 문자열 입력 : aa
바꿀 문자열 입력 : dd
ddbbdd
2번 치환
문자열 입력 : AAccaabbaaaaatt
현재 문자열 입력 : aa
바꿀 문자열 입력 : dd
ddccddbbddddatt
4번 치환
문자열 입력 : aabb
현재 문자열 입력 : aaaaa
바꿀 문자열 입력 : ddddd
입력한 문자열의 크기가 작습니다
치환 할 수 없습니다
[문제 2 ] 사지선다형
- 문제수는 총 5문제 제공
- 1문제당 20점씩 처리한다.
- 정답은 "11111"이다.
[실행결과]
클래스명 : Exam
* 필드
private String name = null;
private String dap = null;
private char[] ox = null;
private int score = 0;
private final String JUNG = "11111"; //상수화
* 메소드
기본 생성자 - Scanner 이용하여 이름, 답을 입력 받는다.
compare() - 비교
getName()
getOx()
getScore()
클래스명 : ExamMain
[실행결과]
인원수 입력 : 3 <----main 메소드
이름 입력 : 홍길동
답 입력 : 12311
이름 입력 : 김태리
답 입력 : 12341
이름 입력 : 유연석
답 입력 : 12111
이름 1 2 3 4 5 점수
홍길동 O X X O O 60
김태리 O X X X O 40
유연석 O X O O O 80
Exam.java
package class__;
import java.util.Scanner;
public class Exam {
Scanner scan = new Scanner(System.in);
private String name;
private String dap;
private char[] ox;
private int score;
private final String JUNG = "11111"; //상수화
public Exam(){
System.out.print("이름 입력 : ");
name = scan.next();
System.out.print("답 입력 : ");
dap = scan.next();
System.out.println();
ox = new char[dap.length()];
}
public void compare() {
for(int i=0; i<dap.length(); i++) {
if(dap.charAt(i) == JUNG.charAt(i)) {
ox[i] = 'O';
score += 20;
}
else
ox[i] = 'X';
}
}
public String getName() {
return name;
}
public char[] getOx() {
return ox;
}
public int getScore() {
return score;
}
}
ExamMain.java
package class__;
import java.util.Scanner;
public class ExamMain {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
System.out.print("인원수 입력 : ");
int num = scan.nextInt();
Exam[] e = new Exam[num];
for(int i=0; i<num; i++) {
e[i] = new Exam();
}
System.out.println("이름\t1 2 3 4 5\t점수");
for(int i=0; i<num; i++) {
e[i].compare();
System.out.print(e[i].getName() + "\t");
for(char c : e[i].getOx()) {
System.out.print(c + " ");
}
System.out.print("\t" + e[i].getScore());
System.out.println();
}
}
}
인원수 입력 : 2
이름 입력 : 전수민
답 입력 : 12111
이름 입력 : 진채린
답 입력 : 12312
이름 1 2 3 4 5 점수
전수민 O X O O O 80
진채린 O X X O X 40
'HOMEWORK' 카테고리의 다른 글
DAY5 - HOMEWORK - 주차장 관리 프로그램 (2024.07.09) (0) | 2024.08.13 |
---|---|
DAY 6 - HOMEWORK - 성적 처리 프로그램 / 성적계산 (2024.07.10) (0) | 2024.08.13 |
DAY 9 - HOMEWORK - 과일판매량 (2024.07.15) (0) | 2024.08.12 |
DAY 10 - HOMEWORK - 달력 (2024.07.16) (0) | 2024.08.12 |
DAY 11 - HOMEWORK - SungJukDTO / SungJuk (2024.07.17) (0) | 2024.08.12 |