융프1 실습과제_5/25

나은·2023년 6월 7일

융프1 실습과제

목록 보기
11/11

복습

랜덤함수,카운트함수 연습
코드타이핑 : 6/7


문제



정답

Main클래스

package do_it_java_ch2;

public class Main {

	public static void main(String[] args) {
		System.out.println("Java API 실습과제");
		Quiz quiz=new Quiz();
		
		//1번 : 도로 제한속도 60km, 70, 80, 100 중 하나
		System.out.println
		("제한속도= "+quiz.speed_limit()+"km");
		
		//2번 : he의 개수 출력
		String source = "The old man and the sea";
		System.out.println
		(quiz.count(source, "he"));

	}

}

quiz 클래스

package do_it_java_ch2;

public class Quiz {
	//1번
	int speed_limit() {
		int n=(int)(Math.random()*4); // 0 * 4 < n < 1 * 4
		switch(n) {
		case 0:
			return 60;
		case 1:
			return 70;
		case 2:
			return 80;
		case 3:
			return 100;
		}
		return 0;
	}

	//2번
	int count(String src, String hunt) {
		int cnt=0;
		int cut=hunt.length();
		for(int i=0; i<(src.length()-cut+1); i++) {
			//if(src.substring(i, i+cut).compareTo(hunt)==0)
			if(src.substring(i,i+cut).equals(hunt))
				cnt++;
	}
		return cnt;
}
}

공부

int n=(int)(Math.random()*4); 코드 분석
-> Math.random() 0이상 1미만의 임의의 실수 반환
->(int)는 형변환 연산자로 실수를 정수로 변환=> 0이상 4미만의 임의의 실수가 나옴

if(src.substring(i,i+cut).equals(hunt)); 코드 분석
->src.substring(i,i+cut)은 src 문자열에서 인덱스 i부터 i+cut-1까지의 부분 문자열 추출
->equals()는 앞서 추출한 문자열과 뒤 문자열이 동일한지 보아 결과를 논리값으로 반환

profile

profile
코딩공부블로그

0개의 댓글