랜덤함수,카운트함수 연습
코드타이핑 : 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