JAVA-연습문제_20230119

2023. 1. 19. 16:09코딩일기/JAVA

문제1
프로그램 사용자로부터 하나의 영단어(String)를 입력 받아라. 그리고 이 입력된 단어를
한줄에 한문자(character)씩 출력시켜 보아라. 단, 출력할 때 각 문자에 1이 더해진 문자가
출력되도록 해보자.

 예를 들어, "Array"라는 단어가 입력되면 
 B
 s
 s
 b
 z

import java.util.Scanner;

public class Ex03_01 {
	public static void main(String[] args) {
		Scanner scan = new Scanner(System.in);
		System.out.print("영단어 입력:");
		String string = scan.nextLine();
		for (int i = 0; i < string.length(); i++) {
			System.out.printf("%c\n",(string.charAt(i) + 1));
		}
	}
}

 

문제2.
2개의 String 참조변수를 선언해라. 그런다음 프로그램 사용자로부터 영단어를 입력 받아서
String변수 중 하나로 참조한다. 그 다음 남은 하나의 String 참조변수에 저장된 영단어를
역순으로 뒤집어서 String 객체를 만들어서 참조해보자.
뒤집고 나서는 제대로 뒤집혔는지 확인하기 위해서 출력해보자.
예를들어, "Hello" 를 입력하면 "olleH"가 출력되어야 한다.

import java.util.Scanner;

public class Ex03_02 {
	public static void main(String[] args) {
		String a;
		Scanner scanner = new Scanner(System.in);
		System.out.print("영단어 입력:");
		a = scanner.nextLine();
		
		StringBuffer b = new StringBuffer(a);
        String reverse = b.reverse().toString();
        System.out.println(b);
	}
}

문제3.
프로그램 사용자로부터 영단어을 입력 받는다. 그리고 나서 입력 받은 영단어를 구성하는 
문자 중에서 아스키 코드의 값이 가장 큰 문자를 찾아서 출력하는 프로그램을 작성해보자.
예를 들어서 입력된 영단어가 "LOVE"라면 이 중에서 아스키 코드 값이 가장 큰 문자는 V
이므로 V가 출력되어야 한다.

import java.util.Scanner;

public class Ex03_03 {
	public static void main(String[] args) {
		Scanner scanner = new Scanner(System.in);
		System.out.print("영단어 입력:");
		String string = scanner.nextLine();
		String[] arr = string.split("");
		String max;
		max = arr[0];
		for (int i = 0; i < arr.length; i++) {
			if (max.compareTo(arr[i]) <= 0) {
				max = arr[i];
			}
		}
		System.out.println(max);
	}
}

 

문제5.
사용자로부터 전화번호를 입력받되 첫3자리, 두번째 3~4자리, 세번째 4자리 숫자를 따로따로
입력 받아서 하나의 문자열로 합쳐서 저장하고 출력하시오. 단, 사이에 '-'로 구분자를 갖도록 한다.

import java.util.Scanner;

public class Ex03_05 {
	public static boolean isInteger(String input) {
		try {
			Integer.parseInt(input);
			return true;
		} catch (NumberFormatException e) {
			return false;
		}
	}

	public static void main(String[] args) {
		Scanner scanner = new Scanner(System.in);
		String string1, string2, string3;

		do {
			System.out.print("첫번째 자리 입력(3자리): ");
			string1 = scanner.nextLine();
		} while (isInteger(string1) == false || string1.length() != 3);

		do {
			System.out.print("두번째 자리 입력(3~4자리): ");
			string2 = scanner.nextLine();
		} while (isInteger(string2) == false || !(string2.length() == 3 || string2.length() == 4));

		do {
			System.out.print("세번째 자리 입력(4자리): ");
			string3 = scanner.nextLine();

		} while (isInteger(string3) == false || !(string3.length() == 3 || string3.length() == 4));

		System.out.println(string1 + "-" + string2 + "-" + string3);
	}
}

 

문제6.
사용자로부터 이메일주소를 입력받아라. 단, 메일주소는 @을 포함하여 메일서버주소까지 모두 입력받아야함.
입력받은 메일주소에서 @앞에 있는 개인메일이름과 @뒤에 있는 메일서버주소를 각각 분리하여 저장하고 출력하시오.

import java.util.Scanner;

public class Ex03_06 {
	public static void main(String[] args) {
		Scanner scan = new Scanner(System.in);
		String string;
		while (true) {
			System.out.printf("메일 주소 입력(@포함) : ");
			string = scan.next();
			if (string.contains("@")) {
				break;
			}
			System.out.println("[잘못 입력하셨습니다. @포함 메일서버주소까지 모두 입력하셔야 합니다.]\r" + "");
		}
		String[] arr = string.split("@");
		System.out.println("입력된 메일주소명 : "+arr[0]);
		System.out.println("메일서버 이름 : "+arr[1]);
	}
}
반응형

'코딩일기 > JAVA' 카테고리의 다른 글

JAVA-Array (참조형 배열)  (0) 2023.01.20
JAVA-Array (기본형 배열)  (0) 2023.01.20
JAVA-String  (0) 2023.01.19
JAVA-숫자야구 게임  (0) 2023.01.18
JAVA-Random  (0) 2023.01.18