1. 영문 소문자 하나 입력받고 그 문자보다 알파벳 순서가 낮은 모든 문자를 출력하는 프로그램을 작성하라.
package chapter3;
import java.util.Scanner;
public class 실습문제1 {
public static void main(String args[]) {
System.out.print("알파벳 한 문자를 입력하세요 >>");
Scanner scanner = new Scanner(System.in);
String s = scanner.next();
char c = s.charAt(0);
int n =(int) c;
for(int i = 97; i<=n; i++){
for(int j =i;j<n;j++){
char nC= (char) j;
System.out.print(nC);
}
System.out.println();
}
}
}
2. 정수 10개를 입력받아 배열에 저장한 후, 배열을 검색하여 3의 배수만 골라 출력하는 프로그램을 작성하라.
package chapter3;
import java.util.Scanner;
public class 실습문제2 {
public static void main(String args[]) {
Scanner scanner = new Scanner(System.in);
System.out.print("정수 10개 입력 >>");
int [] n = new int [10];
int i;
for(i=0;i<n.length; i++){
n[i] = scanner.nextInt();
if(n[i] %3 == 0 )
System.out.print(n[i] + " ");
}
System.out.println();
}
}
3. 정수를 입력받아 짝수이면 “짝” 홀수이면 “홀”을 출력하는 프로그램을 작성하라. 사용자가 정수를 입력하지 않는 경우에는 프로그램을 종료하라. 정답을 통해 try – catch- finally를 사용하는 정통적인 코드를 볼 수 있다.
package chapter3;
import java.util.InputMismatchException;
import java.util.Scanner;
public class 실습문제3 {
public static void main(String agrs[]){
Scanner scanner = new Scanner(System.in);
System.out.print("정수를 입력하세요.>>");
try{
int n = scanner.nextInt();
if(n %2 == 0) System.out.println("짝수");
else System.out.println("홀수");
}
catch(InputMismatchException n1){
System.out.println("수를 입력하지 않아 프로그램이 종료됩니다");
}
}
}
4. ‘일’, ‘월’, ‘화’, ‘수’, ‘목’, ‘금’, ‘토’ 로 초기화된 문자 배열 day를 선언하고, 사용자로부터 정수를 입력받아 7(배열 day의 크기)로 나눈 나머지를 인덱스로 하여 배열 day에 저장된 문자를 출력하라. 음수가 입력되면 프로그램을 종료하라. 아래 실행결과와 같이 예외 처리하라.
package chapter3;
import java.util.InputMismatchException;
import java.util.Scanner;
public class 실습문제4 {
public static void main(String args[]) {
char[] day = { '일', '월', '화', '수', '목', '금', '토' };
Scanner scanner = new Scanner(System.in);
while (true) {
int n = 0;
System.out.print("정수를 입력하세요>>");
try {
n = scanner.nextInt();
switch (n % 7) {
case 0:
System.out.println("일");
break;
case 1:
System.out.println("월");
break;
case 2:
System.out.println("화");
break;
case 3:
System.out.println("수");
break;
case 4:
System.out.println("목");
break;
case 5:
System.out.println("금");
break;
case 6:
System.out.println("토");
break;
}
} catch (InputMismatchException e) {
System.out.println("경고! 수를 입력하지 않았습니다");
break;
}
if(n < 0){
System.out.println("프로그램 종료");
break;
}
}
scanner.close();
}
}
실행결과
5. 정수를 10개 입력받아 배열에 저장하고 증가 순으로 정렬하여 출력하라.
package chapter3;
import java.util.Scanner;
public class 실습문제5 {
public static void main(String args[]){
int [] n = new int [10];
System.out.print("정수 10개 입력>>");
Scanner scanner = new Scanner(System.in);
for(int i=0; i<n.length; i++){
n[i] = scanner.nextInt();
}
for(int i=n.length-1;i>=0;i--){
for(int j=0;j<i;j++)
if(n[j] > n[j+1]){
int temp = n[j];
n[j] = n[j+1];
n[j+1] = temp;
}
}
for(int i=0;i<n.length;i++)
System.out.print(n[i] + " ");
System.out.println();
scanner.close();
}
}
6. 다음과 같이 영어와 한글의 짝을 이루는 2개의 배열을 만들고, 사용자로부터 영어 단어를 입력받아 한글을 출력하는 프로그램을 작성하라. “exit”을 입력하면 프로그램을 종료하라.
package chapter3;
import java.util.Scanner;
public class 실습문제6 {
public static void main(String args[]) {
String eng[] = { "student", "love", "java", "happy", "future" };
String kor[] = { "학생", "사랑", "자바", "행복한", "미래" };
Scanner scanner = new Scanner(System.in);
while (true) {
System.out.print("영어 단어를 입럭하세요>>");
String s = scanner.next();
if (s.equals("student"))
System.out.println("학생");
else if (s.equals("love"))
System.out.println("사랑");
else if (s.equals("java"))
System.out.println("자바");
else if (s.equals("happy"))
System.out.println("행복한");
else if (s.equals("future"))
System.out.println("미래");
else if (s.equals("exit")) {
System.out.println("프로그램 종료");
break;
} else
System.out.println("그런 영어 단어가 없습니다");
}
}
}
7. 1부터 99까지 369게임에서 박수를 쳐야 하는 경우, 순서대로 화면에 출력하라. (2장 실습문제 6 참고)
package chapter3;
public class 실습문제7 {
public static void main(String[] args) {
for (int i = 1; i < 100; i++) {
if (i < 10)
if (i % 3 == 0)
System.out.println(i + " 박수 한 번");
if (i >= 10) {
int first = i / 10;
int second = i % 10;
if (first % 3 == 0) {
if (second % 3 == 0)
System.out.println(i + " 박수 두 번");
else
System.out.println(i + " 박수 한 번 ");
}
else
if (second % 3 == 0)
System.out.println(i + " 박수 한 번");
}
}
}
}
실행결과
8. 컴퓨터와 사용자의 가위바위보 게임 프로그램을 작성하라. 사용자가 입력하고 <Enter> 키를 치면, 컴퓨터는 랜덤하게 가위, 바위, 보 중 하나를 선택한다. 그리고 누가 이겼는지를 출력한다. ”그만“을 입력하면 게임을 종료한다.
package chapter3;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Random;
import java.util.Scanner;
public class 실습문제8 {
public static void main(String[] args) throws IOException {
Random r = new Random();
int computer = r.nextInt(2);
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
Scanner scanner = new Scanner(System.in);
while (true) {
System.out.print("가위 바위 보!>> ");
String user = scanner.next();
if (user.equals("가위")) {
if (computer == 0)
System.out.println("컴퓨터 : 가위 , 나 : 가위 , 결과 : 무승부");
if (computer == 1)
System.out.println("컴퓨터 : 바위 , 나 : 가위 , 결과 : 패");
if (computer == 2)
System.out.println("컴퓨터 : 보 , 나 : 가위 , 결과 : 승");
}
else if (user.equals("바위")) {
if (computer == 0)
System.out.println("컴퓨터 : 가위 , 나 : 바위 , 결과 : 승");
if (computer == 1)
System.out.println("컴퓨터 : 바위 , 나 : 바위 , 결과 : 무승부");
if (computer == 2)
System.out.println("컴퓨터 : 보 , 나 : 바위 , 결과 : 패");
}
else if (user.equals("보")) {
if (computer == 0)
System.out.println("컴퓨터 : 가위 , 나 : 보 , 결과 : 패");
if (computer == 1)
System.out.println("컴퓨터 : 바위 , 나 : 보 , 결과 : 승");
if (computer == 2)
System.out.println("컴퓨터 : 보 , 나 : 보 , 결과 : 무승부");
}
else if(user.equals("그만")){
System.out.println("프로그램 종료");
break;
}
}
scanner.close();
}
}
실행결과