Dev/Java

Java - BufferReader, InputStreamReader 이용 입력 예제

surimi🍥 2020. 9. 4. 18:41
반응형

 

package method;

//이름(name), 국어(kor), 영어(eng), 수학(math)점수를 입력받아서 총점(tot),평균(avg)를 구하시오
//
//총점 = 국어 + 영어 + 수학
//평균 = 총점 / 과목수
//
//[실행결과]
//이름 입력 : 홍길동
//국어 입력 : 95
//영어 입력 : 90
//수학 입력 : 91
//
//   *** 홍길동 성적 ***
//국어      영어      수학      총점      평균
//95      90      91      xxx      xx.xxx

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class SungJuk {

	public static void main(String[] args) throws IOException {
	
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		
			String name;
			int kor, eng, math, tot;
			double avg;
			int sjnum = 3;
			
			System.out.println("이름 입력 : ");
			name = br.readLine();
			System.out.println("국어 입력 : ");
			kor = Integer.parseInt(br.readLine());
			System.out.println("영어 입력 : ");
			eng = Integer.parseInt(br.readLine());
			System.out.println("수학 입력 : ");
			math = Integer.parseInt(br.readLine());
			
			tot = kor + eng + math;
			avg = (double)tot / sjnum;
			
			System.out.println("*** " + name + "성적 ***");
			System.out.println("국어\t 영어\t 수학\t 총점\t 평균");
			System.out.println(kor +"\t "+ eng +"\t "+ math +"\t "+ tot +"\t"+ String.format("%.3f", avg));

	}

}

 

 

package method;

//* 월급 계산 프로그램
//이름, 직급, 기본급, 수당을 입력하여 세금과 월급을 계산하시오
//세율은 급여가 4,000,000 만원 이상이면 3% 아니면 2%로 한다
//
//만약 이 문제를 다 풀었다면
//세금은 calcTax()
//월급은 calcSalary()를 이용해서 계산하시오
//
//급여 = 기본급 + 수당
//세금 = 급여 * 세율
//월급 = 급여 - 세금
//
//[실행결과]
//이름 입력 : 홍길동
//직급 입력 : 부장
//기본급 입력 : 4500000
//수당 입력 : 200000
//
//   *** 홍길동 월급 명세서 ***
//직급 : 부장
//기본급      수당      급여   세율   세금   월급
//4500000      200000     4700000   3%   xxxxx   xxxxxxx

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.text.DecimalFormat;

public class Salary {

	public static void main(String[] args) throws IOException {

		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		DecimalFormat df = new DecimalFormat("#%");
		Salary sal = new Salary();

		String name, position;
		int basePay, extraPay, totalPay, tax, salary;
		double taxRate;

		System.out.println("이름 입력 : ");
		name = br.readLine();
		System.out.println("직급 입력 : ");
		position = br.readLine();
		System.out.println("기본급 입력 : ");
		basePay = Integer.parseInt(br.readLine());
		System.out.println("수당 입력 : ");
		extraPay = Integer.parseInt(br.readLine());

		totalPay = basePay + extraPay; // 기본급 + 수당
		taxRate = totalPay >= 4000000 ? 0.03 : 0.02; // 세율계산

//		salary = totalPay * taxRate;		// 급여
//		tax = totalPay - salary;			// 세금

		tax = (int) sal.calcTax(totalPay, taxRate); // 세금 계산 메소드
		salary = sal.calcSalary(totalPay, tax); // 월급 계산 메소드

		System.out.println("*** " + name + " 월급 명세서 ***");
		System.out.println("직급 : " + position);
		System.out.println("기본급\t 수당\t 급여\t 세율\t 세금\t 월급");
		System.out.println(basePay + " " + extraPay + "\t " + totalPay + " " + df.format(taxRate) + " \t" + tax + "\t" + salary);
	}

	public double calcTax(int totalPay, double taxRate) {

		return totalPay * taxRate;

	}

	public int calcSalary(int totalPay, int tax) {

		return totalPay - tax;
	}
}
반응형