문제 09-28

JungSik Heo·2022년 9월 28일
0
post-custom-banner

Calendar 객체를 생성하면 현재 시간을 알 수 있다. 프로그램을 실행한 현재 시간이 4시에서 낮 12시 이전이면 "Good Morning"을, 오후 6시 이전이면 "Good Afternoon"을, 밤 10시 이전이면 "Good Evening"을, 그 이후는 "Good Night"을 출력하는 프로그램을 작성하라.

현재 시간은 10시 22분입니다.
Good Morning

[풀이]

import java.util.Calendar;
public class GoodMorning {
	public static void main(String[] args) {
		Calendar now = Calendar.getInstance(); // Calendar 객체 생성
		
		// now는 현재 시간 값을 가지고 있음
		
		int hour = now.get(Calendar.HOUR_OF_DAY);
		int minute = now.get(Calendar.MINUTE);		
		System.out.println("현재 시간은 " + hour + "시 " + minute + "분입니다.");
		
		if(hour > 4 && hour < 12) 
			System.out.println("Good Morning");
		else if(hour >= 12 && hour < 18) 
			System.out.println("Good Afternoon");
		else if(hour >= 18 && hour < 22) 
			System.out.println("Good Evening");
		else
			System.out.println("Good Night");			
	}
}

Scanner를 이용하여 한 라인을 읽고, 공백으로 분리된 어절이 몇 개 들어 있는지 "그만"을 입력할 때까지 반복하는 프로그램을 작성하라.

I love Java.
어절 개수는 3
자바는 객체 지향 언어로서 매우 좋은 언어이다.
어절 개수는 7
그만
종료합니다...
[Hint] Scanner.nextLine()을 이용하면 빈칸을 포함하여 한 번에 한 줄을 읽을 수 있다.

(1) StringTokenizer 클래스를 이용하여 작성하라.

public class WordCount {
	public static void main(String[] args) {
		Scanner scanner = new Scanner(System.in);
		while(true) {
			System.out.print(">>");
			String s = scanner.nextLine();
			if(s.equals("그만")) {
				System.out.println("종료합니다...");	
				break;
			}
			StringTokenizer st = new StringTokenizer(s, " ");	
			System.out.println("어절 개수는 " + st.countTokens());
		}
		
		scanner.close();
	}
}


(2) String 클래스의 split() 메소드를 이용하여 작성하라.

풀이

import java.util.*;
public class WordCount {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
while(true) {
System.out.print(">>");
String s = scanner.nextLine();
if(s.equals("그만")) {
System.out.println("종료합니다...");
break;
}
String [] words = s.split(" ");
System.out.println("어절 개수는 " + words.length);
}

	scanner.close();
}

}


문자열을 입력받아 한 글자씩 회전시켜 모두 출력하는 프로그램을 작성하라.

문자열을 입력하세요. 빈칸이나 있어도 되고 영어 한글 모두 됩니다.
I Love you
 Love youI
Love youI 
ove youI L
ve youI Lo
e youI Lov
 youI Love
youI Love 
ouI Love y
uI Love yo
I Love you
[Hint] Scanner.nextLine()을 이용하면 빈칸을 포함하여 한 번에 한 줄을 읽을 수 있다.

'''
import java.util.Scanner;
public class ILoveYouTest {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		System.out.println("문자열을 입력하세요. 빈칸이나 있어도 되고 영어 한글 모두 됩니다.");
		String str = sc.nextLine();
		for(int i = 1; i <= str.length() ;i++) {
			System.out.print(str.substring(i));
			System.out.println(str.substring(0, i));
		}
		sc.close();
	}
}
'''

문제) 확장자 뽑아내기
 "Hello.java" 문자열에서 파일명은 Hello와 확장자인 java를 분리시켜보자.


# 실행 결과
파일명: Hello
확장자: java


public class StringTest06 {
public static void main(String[] args) {

    String fullName = "Hello.java";
    
    int idx = fullName.indexOf(".");
    
    String fileName = fullName.substring(0, idx);
    String extName = fullName.substring(idx + 1);
    
    System.out.println("파일명: " + fileName);
    System.out.println("확장자: " + extName);
}

}




profile
쿵스보이(얼짱뮤지션)
post-custom-banner

0개의 댓글