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);
}
}