JAVA/java 문제

[자바JAVA] 변수 - Scanner 사용자 입력받기, 소수점 첫째자리까지 출력

자바칩 프라푸치노 2020. 9. 13. 07:40

안녕하세요 자바칩 프라푸치노입니다.

오늘의 문제는 바로 이것!

scanner을 사용하여 double형을 입력받고 소수점 첫째자리까지 나타내기!

 

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
package sec01_verify;
 
import java.util.Scanner;
 
public class E10_ScannerExample3 {
 
    public static void main(String[] args) {
        
        Scanner scanner = new Scanner(System.in);
        scanner.close();
        
    
        
    }
 
}
 
cs

먼저 스캐너를 열고 닫아주시구요

입력창을 만들어야겠죠.

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
package sec01_verify;
 
import java.util.Scanner;
 
public class E10_ScannerExample3 {
 
    public static void main(String[] args) {
        
        Scanner scanner = new Scanner(System.in);
        double result;
        
        System.out.print("num1 입력: ");
        double num1 = scanner.nextDouble();
        System.out.print("num2 입력: ");
        double num2 = scanner.nextDouble();
        System.out.println("num1 입력: " + num1);
        System.out.println("num2 입력 :" + num2);
        scanner.close();
        
    
        
    }
 
}
 
cs

이렇게 입력할 수 있는 곳이 나타났습니다.

 

 

다음 이렇게 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
package sec01_verify;
 
import java.util.Scanner;
 
public class E10_ScannerExample3 {
 
    public static void main(String[] args) {
        
        Scanner scanner = new Scanner(System.in);
        
        System.out.print("num1 입력: ");
        double num1 = scanner.nextDouble();
        System.out.print("num2 입력: ");
        double num2 = scanner.nextDouble();
        System.out.println("num1 입력: " + num1);
        System.out.println("num2 입력 :" + num2);
 
 
        double result = num1 + num2;        
        System.out.printf("result(더하기) : %.1f\n", result);//printf함수 
        //%.1f\n은 소수점 첫째자리 까지 나타내라는 뜻

       scanner.close();
    
        
    }
 
}
 
cs

그다음 이렇게 result를 num1 + num2로 변경해주고

printf함수를 씁니다.

%.1f는 소수점 첫째자리까지 나타내는 것 \n은 라인바꾸기입니다.

마찬가지로

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
package sec01_verify;
 
import java.util.Scanner;
 
public class E10_ScannerExample3 {
 
    public static void main(String[] args) {
        
        Scanner scanner = new Scanner(System.in);
        
        System.out.print("num1 입력: ");
        double num1 = scanner.nextDouble();
        System.out.print("num2 입력: ");
        double num2 = scanner.nextDouble();
        System.out.println("num1 입력: " + num1);
        System.out.println("num2 입력 :" + num2);
 
 
        double result = num1 + num2;        
        System.out.printf("result(더하기) : %.1f\n", result);//printf함수 
        //%.1f\n은 소수점 첫째자리 까지 나타내라는 뜻
                
        result = num1 - num2;
        System.out.printf("result(빼기) : %.1f\n", result);
        
        result = num1 / num2;
        System.out.printf("result(나누기) : %.1f\n", result);
        
        result = num1 * num2;
        System.out.printf("result(곱하기) : %.1f\n", result);
        
        System.out.printf("%.1f %.1f", result , result); // %f를 기준으로 개수를 매칭시켜야한다.
        scanner.close();
    
        
    }
 
}
 
cs

이렇게 해주었구요, 마지막 줄을 보시면

%.1f가 두개이죠

%f를 기준으로 개수를 맞추어 주어야합니다.

그래서 뒤에 result도 두개 있네요.

출력해봅시다.

이렇게 원하는 대로 나왔네요!
다음 포스팅에서는  스캐너로 문자열을 입력받아보도록 하겠습니다. 감사합니다.

 

728x90