목록Back-End (21)
JOO's note
/* * 최소 공배수(最小公倍數, least common multiple)은 두 개의 정수에 대해 * 둘 모두의 배수가 되는 최소의 자연수를 말한다 * 최대공약수(最大公約數, greatest common divisor)란 * 0 이 아닌 두 개의 정수의 공통되는 약수 중 가장 큰 것을 말한다. * * [문제] 24와 18의 최대공약수 최소공배수를 계산하는 프로그램을 작성하라. * [결과] * 두개의 정수를 입력하세요 : 24 18 * 최대공약수 : 6 * 최소공배수 : 72 */ [정답] * 이때, 유클리드 호제법을 이용하면 로직구현이 쉬워진다. * 1단계) 두 수 중 크기를 비교해서 큰수는 big변수로 작은 값은 small변수로.. * 2단계) 두 수를 나눈 나머지를 구한다. * 3단계) small변수..
public class Decimal {public static void main(String[] args) {int dec = 10;System.out.println("10진수 : " + dec);// 숫자를 2진수,8진수,16진수 형태의 문자열로 변환String bin = Integer.toBinaryString(dec);String oct = Integer.toOctalString(dec);String hex = Integer.toHexString(dec); System.out.println("int -> 문자열 이진수 : " + bin);System.out.println("int -> 문자열 8진수 : " + oct);System.out.println("int -> 문자열 16진수 : " + he..
/*사용자로부터 0이상인 임의의 정수를 입력받아 factorial 연산을 실행하는 프로그램을 만들어라.차례곱[factorial] : n!=1×2×3×…×(n-1)×n*/ [정답]import java.util.Scanner;import java.util.InputMismatchException; public class Factorial {public static void main(String[] args) {long result=factorial(input());System.out.println("[결과] : " + result);} public static int input(){while(true){try{System.out.print("정수를 입력하세요 : ");int n=new Scanner(Syst..
/*1. 정수 N을 전달받아서, 2의 N승을 계산하여 반환하는 메소드를 재귀의 형태로 정의하고, 이의 테스트를 위한 main 메소드도 함께 정의하자. 2. 10진수 정수를 전달받아서, 전달받은 정수에 해당하는 2진수를 출력하는 메소드를 재귀의 형태로 정의하고, 이의 테스트를 위한 main메소드도 함께 정의하자.*/ [정답]import java.util.Scanner;import java.util.InputMismatchException; public class Task1{public static void main(String[] args) {Scanner sc=new Scanner(System.in);System.out.print("정수를 입력하세요 : ");try{int n=sc.nextInt();if(n
https://opentutorials.org/module/1335
/*다음과 같은 조건의 예외 클래스를 작성하고 테스트 하시요.[메인화면] public class Task2 {public static void main(String[] args) throws Exception {throw new MyException("지원하지 않는 기능입니다.",100);}}[결과화면]Exception in thread "main" UnsupportedFuctionException: [100]지원하지 않는 기능입니다.at Task2.main(Task2.java:55) [아래의 내용을 참조하여 만드세요.](1) 클래스명 : MyException(2) 조상클래스명 : RuntimeException(3) 멤버변수 이름 ERR_CODE 타입 : int기본값 : 100제어자 : final pri..
/*다음 아래의 내용을 보시고 에러를 만들어보세요. (에러 클래스는 NumberFormatException)[결과화면]수를 입력하세요:1234567890입력하신 수는1234567890입니다. 수를 입력하세요:1234에러발생!! 정확히 10자리만 입력 가능합니다.*/ [정답]import java.util.Scanner;public class Task1{public static void main(String[] args) {do{System.out.print("수를 입력하세요: ");try{String num=new Scanner(System.in).next();if(num.length()!=10){throw new NumberFormatException("에러발생!! 정확히 10자리만 입력 가능합니다.")..
/*[실행결과]1과 100사이의 값을 입력하세요 :50더 작은 수를 입력하세요.1과 100사이의 값을 입력하세요 :asdf유효하지 않은 값입니다. 다시 값을 입력해주세요.1과 100사이의 값을 입력하세요 :25맞췄습니다.시도횟수는 5번입니다.*/ [정답]import java.util.InputMismatchException;import java.util.Scanner;public class Exam8_8 {public static void main(String[] args) {int result=(int) (Math.random()*100)+1;int guess=0, cnt=0;do{cnt++;System.out.print("1과 100사이의 값을 입력하세요 :");try{guess=new Scanner..
- 예외처리의 정의 : 프로그램 실행 시 발생할 수 있는 예외의 발생에 대비한 코드를 작성하는 것- 예외처리의 목적 : 프로그램의 비정상 종료를 막고, 정상적인 실행상태를 유지하는 것 - 우선 오류의 종류에는 크게 예외(Exception)과 에러(Error) 두가지로 나뉜다.이때 에러는 프로그램상 코드의 오류로 인해 발생된, 원인 이외의 모든이유를 포함한다.예를들어 하드웨어상의 문제 서버상의 문제를 일컬을 수 있다.그리고 예외는 프로그램상의 코드의 오류로 인해 발생된 원인을 일컬을 수 있다. - 모든 오류의 조상은 java.lang.Throwable 클래스로써 에러(Error)와 예외(Exception)를 자식으로 포함한다.이때 예외(Exception)은 RuntimeException 또는 컴파일시에 체..
/*Task3) 1부터 100까지 순서대로 저장되어 있는 배열을(1,2,3...100)뒤집어서 저장한 후, 출력하시오(100,99,98...1) Task4) 5개의 정수를 받아서 역순으로 출력하는 프로그램을 작성하라. 실행 예 입력: 19 10 8 29 36 출력: 36 29 8 10 19*/ [정답]public class Task3 {public static void main(String[] args) {int[] arr=new int[100]; System.out.println("[원본]");for(int i=0; i