CHANGEL
SOLID BASICS
CHANGEL

공지사항

  • DEV.CHANGEL PROFILE
  • SOLID BASIC (289)
    • 공부 STUDY (115)
      • JAVA (57)
      • C | C++ (34)
      • CS (11)
      • MySQL (2)
      • ALGORITHM (1)
      • HTML (2)
      • CSS (2)
      • JS (2)
      • CODING (0)
      • MINI PROJECT (3)
    • 스프링 SPRING (21)
      • [SPRING] 김영한 스프링 입문 (11)
      • [SPRING] 남궁성 스프링의 정석 (1)
      • [SPRING] 스프링 핵심원리 (9)
    • 전공 수업 CS (65)
      • Computer Network (13)
      • algorithms (21)
      • Computer Architecture (7)
      • Software Engineering (4)
      • Data Structure (2)
      • DataBase (1)
      • Digital Engineering (14)
      • Discrete Mathematics (3)
      • Introduction to programming (0)
      • Mobile Software (0)
      • Intelligence and Informatio.. (0)
    • 대외활동 (35)
      • 신한은행 대학생 홍보대사 34기 (8)
      • SKT T프렌즈 5기 (13)
      • SK DEVOTION YOUNG 1기 (9)
      • 성균관 대학교 공학교육혁신센터 수강 (3)
      • 수상 기록 (1)
    • 솝트 33기 안드로이드 (7)
      • [솝트 33기] 회고록 (0)
      • [솝트 33기] 안드로이드 왕초보 스터디 (2)
      • [솝트 33기] 코틀린 스터디 (0)
      • [솝트 33기] Git을 털어보자 깃털 스터디 (4)
    • 멋쟁이사자처럼 11기 (6)
      • 멋사 회고록 (4)
      • 백엔드 세션 (1)
      • 기획 세션 (1)
      • 연합해커톤 운영단 (기획팀) (0)
    • 백준 BAEKJOON (16)
    • 독서 BOOK (10)
    • 자격증 CERTIFICATE (1)
    • 준비 서류 및 회고록 MEMOIR (7)

블로그 메뉴

  • 홈
  • 태그
  • 방명록
  • 글쓰기

최근 댓글

인기 글

CHANGEL
백준 BAEKJOON

[백준] 10869번 사칙연산 출력하기 - JAVA

[백준] 10869번 사칙연산 출력하기 - JAVA
백준 BAEKJOON

[백준] 10869번 사칙연산 출력하기 - JAVA

2023. 1. 27. 07:27

 

 

Scanner 로 입력받아 연산하는 방법과 BufferedReader 로 입력받아 연산하는 방법, 두 가지 방법으로 풀이할 것이다!

 

1-1)

import java.util.Scanner;
 
public class Main {
	public static void main(String[] args) {
		Scanner in = new Scanner(System.in);
		int A = in.nextInt();
		int B = in.nextInt();
 
        in.close();
 
		System.out.println(A+B);
		System.out.println(A-B);
		System.out.println(A*B);
		System.out.println(A/B);
		System.out.println(A%B);
	}
}

 

 

1-2)

import java.util.Scanner;
 
public class Main {
 
	public static void main(String[] args) {
		Scanner in = new Scanner(System.in);
		int A = in.nextInt();
		int B = in.nextInt();
 
		in.close();
 
		StringBuilder sb = new StringBuilder();
		sb.append(A+B);
		sb.append('\n');
 
		sb.append(A-B);
		sb.append('\n');
 
		sb.append(A*B);
		sb.append('\n');
 
		sb.append(A/B);
		sb.append('\n');
 
		sb.append(A%B);
 
		System.out.print(sb);
	}
}

 

1-3) 문자열에 담아둔 뒤 출력하는 방법

import java.util.Scanner;
import java.io.BufferedWriter;
import java.io.OutputStreamWriter;
import java.io.IOException;
 
public class Main {
 
	public static void main(String[] args) throws IOException {
		Scanner in = new Scanner(System.in);
		int A = in.nextInt();
		int B = in.nextInt();
 
		in.close();
 
		BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
 
		bw.write((A+B) + "\n");
		bw.write((A-B) + "\n");
		bw.write((A*B) + "\n");
		bw.write((A/B) + "\n");
		bw.write((A%B) + "\n");
 
		bw.flush();
		bw.close();
	}
}

 

 

2-1) BufferedReader 을 쓰는 방식

Scanner 입력방식에 비해 훨씬 빠른게 장점이다.

 

한 줄로 입력되어 공백 단위로 구별해주어야 하기 때문에 readLine() 을 통해 입력 받아야 함!

readLine() 은 한 행을 전부 읽기 때문에 공백단위로 입력해 준 문자열을 공백단위로 분리해주어야 문제를 풀 수 있을 것이다.

 

문자열 분리 방법 두 가지로 풀어보자.

  1. StringTokenizer 클래스를 이용하여 분리해주는 방법
  2. split() 을 이용하는 방법

그리고 반드시 자료형 타입을 잘 보아야 한다.

StringTokenizer 와 String.split 은 모두 문자열이기 때문에 반환되는 값을 Integer.parseInt()로 int 형으로 변환시켜준다.

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;
import java.util.StringTokenizer;
 
public class Main {
 
	public static void main(String[] args) throws IOException {
        
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
 
 		String str = br.readLine();
		StringTokenizer st = new StringTokenizer(str," ");
		int A = Integer.parseInt(st.nextToken());
		int B = Integer.parseInt(st.nextToken());
		
		System.out.println(A+B);
		System.out.println(A-B);
		System.out.println(A*B);
		System.out.println(A/B);
		System.out.println(A%B);
	
/*    
굳이 String 변수 생성 안하고 입력과 동시에 구분자로 분리해줘도 된다.
 
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		StringTokenizer st = new StringTokenizer(br.readLine()," ");
		int a = Integer.parseInt(st.nextToken());
		int b = Integer.parseInt(st.nextToken());
		
		System.out.println(A+B);
		System.out.println(A-B);
		System.out.println(A*B);
		System.out.println(A/B);
		System.out.println(A%B);
        
*/

 

저작자표시 (새창열림)

'백준 BAEKJOON' 카테고리의 다른 글

[백준] 18108번: 1998년생인 내가 태국에서는 2541년생?! - JAVA  (0) 2023.01.28
[백준] 10926번 ??! 출력하기 - JAVA  (0) 2023.01.28
[백준] 1008번 A / B - JAVA  (0) 2023.01.26
[백준] 10998번 A X B 출력하기 - JAVA  (0) 2023.01.26
[백준1001번] A - B 출력하기 - JAVA  (1) 2023.01.26
    '백준 BAEKJOON' 카테고리의 다른 글
    • [백준] 18108번: 1998년생인 내가 태국에서는 2541년생?! - JAVA
    • [백준] 10926번 ??! 출력하기 - JAVA
    • [백준] 1008번 A / B - JAVA
    • [백준] 10998번 A X B 출력하기 - JAVA
    CHANGEL
    CHANGEL
    NOT GIVING UP | SOLID BASICS

    티스토리툴바

    단축키

    내 블로그

    내 블로그 - 관리자 홈 전환
    Q
    Q
    새 글 쓰기
    W
    W

    블로그 게시글

    글 수정 (권한 있는 경우)
    E
    E
    댓글 영역으로 이동
    C
    C

    모든 영역

    이 페이지의 URL 복사
    S
    S
    맨 위로 이동
    T
    T
    티스토리 홈 이동
    H
    H
    단축키 안내
    Shift + /
    ⇧ + /

    * 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.