TIL - 03. 스캔들 [230714]

송원철·2023년 7월 14일

누가 이 대한민국을 고요한 아침의 나라라고 했던가. 새벽같이 고동치는 나라. 닭 울기 전부터 고성이 오가는 나라.
-드라마 '일타스캔들' 中 대사

스캔과 스캔들은 전혀 다른 말이지만 그냥 써봤다.
대한민국의 수도 서울에서 학원을 다니면서 다른 사람들의 부지런함에 새삼 놀랐다.
누구보다 바쁜 하루를 빠르게 시작하는 사람들.
나도 그 중 한 사람이 되고 싶다.


Scanner Class

사용자로부터 입력되는 정수, 실수, 문자열을 처리하는 클래스

Scanner 생성 및 정수 계산

import 작성
import java.util.Scanner;

Scanner 생성
Scanner sc = new Scanner(System.in);

정수 : sc.nextInt();
실수 : sc.nextFloat(); 또는 sc.nextDouble();
문자열 : sc.next(); 또는 sc.nextLine();

package edu.kh.variable.ex2;

import java.util.Scanner;

// import : 다른 패키지에 존재하는 클래스를 얻어오는 구문
// import java.util.Scanner; // java.util 패키지에서 Scanner 설계도 수입

public class ScannerExample {

	public static void main(String[] args) {
		
		// Scanner : 프로그램 실행 중 키보드 입력을 받을 수 있게하는 역할
		
		// Scanner 생성
		// -> 프로그램 안에 스캐너라는 기계를 만드는 것
		Scanner sc = new Scanner(System.in);
		// 오류 원인 -> 만들고 싶은데 설계도(class)가 없어서 못만들고 있음
		// -> import 구문 작성시 오류 해결
		
		System.out.print("정수 1 입력 : ");
		int input1 = sc.nextInt(); // 입력받은 정수를 input1 변수에 대입
		// nextInt() : 다음 입력된 정수를 읽어옴 (키보드로 입력된 정수를 읽어옴)
		
		System.out.print("정수 2 입력 : ");
		int input2 = sc.nextInt();
		
		System.out.printf("%d + %d = %d\n", input1, input2, input1 + input2);
		
		
	}
}

출력결과

정수 1 입력 : 10
정수 2 입력 : 20
10 + 20 = 30

사칙연산 계산기

package edu.kh.variable.ex2;

import java.util.Scanner;

public class ScannerExample2 {

	public static void main(String[] args) {
		
		Scanner sc = new Scanner(System.in);
		
		
		// 사칙연산 계산기
		// -> 두 실수를 입력받아 사칙연산 결과를 모두 출력
		// -> 단, 출력된 결과값은 소수점 이하 2째자리까지만
		
		// 정수 : sc.nextInt();
		// 실수 : sc.nextDouble();
		
		System.out.print("실수 1 입력 : ");
		double input1 = sc.nextDouble();
		
		System.out.print("실수 2 입력 : ");
		double input2 = sc.nextDouble();
		
		
		// +, -, *, /
		
		System.out.printf("%.2f + %.2f = %.2f\n", input1, input2, input1 + input2);
		
		System.out.printf("%.2f - %.2f = %.2f\n", input1, input2, input1 - input2);
		
		System.out.printf("%.2f * %.2f = %.2f\n", input1, input2, input1 * input2);
		
		System.out.printf("%.2f / %.2f = %.2f\n", input1, input2, input1 / input2);
		
		
		
	}
	
	
}

출력결과

실수 1 입력 : 1
실수 2 입력 : 2
1.00 + 2.00 = 3.00
1.00 - 2.00 = -1.00
1.00 * 2.00 = 2.00
1.00 / 2.00 = 0.50

문자열 출력하기

package edu.kh.variable.ex2;

import java.util.Scanner;

public class ScannerExample3 {

	public static void main(String[] args) {
		
		Scanner sc = new Scanner(System.in);
		
		// 문자열(String) 입력
		// 문자열을 3번 입력받아 한줄로 출력하기
		
		// ex)
		// 입력 1 : 안녕?
		// 입력 2 : 반가워!
		// 입력 3 : 점심뭐먹을래?
		// 안녕? 반가워! 점심뭐먹을래?
		
		// sc.next(); : 다음 입력된 한 단어를 읽어옴
		
		System.out.print("입력 1 : ");
		String input1 = sc.next();
		
		System.out.print("입력 2 : ");
		String input2 = sc.next();
		
		System.out.print("입력 3 : ");
		String input3 = sc.next();
		
		System.out.printf("%s %s %s\n", input1, input2, input3);
		
		// 숫자써도 ok
		// 입력한 숫자는 문자열로 인식
		
		
		
	}
}

출력결과

입력 1 : 1
입력 2 : 2
입력 3 : 3
1 2 3

유니코드 나타내기

package com.kh.variable.practice2;

import java.util.Scanner;

public class CastingPractice1 {

	public static void main(String[] args) {
		
		Scanner sc = new Scanner(System.in);
		
		System.out.print("문자 : ");
		char result2 = sc.next().charAt(0);
		
		System.out.printf("%s unicord : %d", result2, (int)result2);
		
	}
	
}

출력결과

문자 : A
A unicord : 65

총점 평균 구하기

package com.kh.variable.practice2;

import java.util.Scanner;

public class CastingPractice2 {

	public static void main(String[] args) {
		
		Scanner sc = new Scanner(System.in);
	
		System.out.print("국어 : ");
		double input1 = sc.nextDouble();		
		
		System.out.print("영어 : ");
		double input2 = sc.nextDouble();
		
		System.out.print("수학 : ");
		double input3 = sc.nextDouble();
		
		System.out.printf("총점 : %d\n", (int)(input1 + input2 + input3));
		System.out.printf("평균 : %d\n", (int)(input1 + input2 + input3) / 3);
		
		
	}
	
}

출력결과

국어 : 90.0
영어 : 90.0
수학 : 90.0
총점 : 270
평균 : 90
profile
초보자

0개의 댓글