본문 바로가기

BackEnd/Java

[java] 문자열을 이용한 추가 연습문제(indexOf, substring, charAt )

728x90
반응형

1. 문제1

문제)
1. 주어진 문자열 : 자바 프로그래밍은 어렵다!
2. 문자열 길이 : ???
3. '어렵다'라는 단어는 몇 번째 인가??
4. 바뀐 문자열 : 자바 프로그래밍은 쉽다!

정답 코드)
public class Example01 {

	public static void main(String[] args) {
		String str = "자바 프로그래밍은 어렵다!";
		
		System.out.println(str.length());
		System.out.println(str.indexOf("어렵다"));
		str = str.replace("어렵다", "쉽다");
		System.out.println(str);
	}
}

// 14
// 10
// 자바 프로그래밍은 쉽다!​

 

 

2. 문제2

문제)
1. 이름, 학번과 학과를 입력하세요 : 홍길동 /180257/컴퓨터공학과
2. 첫 번째 출력
   이름 : 홍길동
   학번 : 180257
   학과 : 컴퓨터공학과

3. 이름을 입력하세요 : 홍길동
    생년월일(mm/dd/yy)을 입력하세요 : 10/05/16
4. 두 번째 출력
   이름 : 홍길동
   생년월일 : 16년 10월 05일

정답 코드)
import java.util.Scanner;

public class Example02 {

	public static void main(String[] args) {
		
		Scanner sc = new Scanner(System.in);
		
		String str = "홍길동/180257/컴퓨터공학과";
		
		String arrStr[] = str.split("/");
		
		System.out.println("이름, 학번과 학과를 입력하세요: " + str);		
		System.out.println("이름 : " + arrStr[0]);
		System.out.println("학번 : " + arrStr[1]);
		System.out.println("학과 : " + arrStr[2]);
		System.out.println();
		
		
		System.out.print("이름을 입력하세요: ");
		String name = sc.next();
		
		System.out.print("생년월일(mm/dd/yy)을 입력하세요: ");
		String birth = sc.next();
		
		System.out.println("이름 : " + name);
		System.out.println("생년월일 : " + birth.substring(6) + "년 "
        		+ birth.substring(0,2) + "월 " + birth.substring(3,5) + "일");
	}
}

// 출력 : 
// 이름, 학번과 학과를 입력하세요: 홍길동/180257/컴퓨터공학과
// 이름 : 홍길동
// 학번 : 180257
// 학과 : 컴퓨터공학과
//
// 이름을 입력하세요: 홍길동
// 생년월일(mm/dd/yy)을 입력하세요: 10/05/16
// 이름 : 홍길동
// 생년월일 : 16년 10월 05일

 

 

3. 문제3

문제)
1. '가을'을 포함한 한 줄의 문장을 입력 받아 '가을'을 '봄'으로 바꾸어 출력하시오
2. 출력
   한 줄의 문장을 입력하세요 : 나는 가을을 좋아합니다.
   나는 봄을 좋아합니다.

정답 코드)
import java.util.Scanner;

public class Example03 {

	public static void main(String[] args) {
		
		Scanner sc = new Scanner(System.in);
		
		String str = sc.nextLine();
		
		if(str.contains("가을")) {
			str = str.replace("가을", "봄");
		}
		
		System.out.println(str);
		
		sc.close();
	}
}


// 출력 : 
// 나는 가을을 좋아합니다.
// 나는 봄을 좋아합니다.

 

 

4. 문제4

문제)
1. 4개의 과일을 입력 받아 역순으로 출력합니다.
2. 출력
   과일 이름을 입력하세요 : 사과 포도 감 바나나
   바나나 감 포도 사과

정답 코드)
import java.util.Scanner;

public class Example04 {

	public static void main(String[] args) {
		
		Scanner sc = new Scanner(System.in);
		
		System.out.print("과일 이름을 입력하세요 : ");
		String str = sc.nextLine();
		
		String[] arrStr = str.split(" ");
		
		for(int i=0; i<arrStr.length; i++) {
			System.out.print(arrStr[arrStr.length - i - 1] + " ");
		}
		
		sc.close();
	}
}

// 출력 : 
// 과일 이름을 입력하세요 : 사과 포도 감 바나나
// 바나나 감 포도 사과

 

앞에서 배웠던 문자열 함수들을 이용해서 여러 문제들을 풀어보았습니다.

 

확실히 여러 함수들을 알고 있으니 문제 풀기가 훨씬 수월하네요!!

 

많은 분들의 피드백은 언제나 환영합니다! 많은 댓글 부탁드려요~~

 

728x90
반응형