-
Notifications
You must be signed in to change notification settings - Fork 17
/
CientificNotation.java
45 lines (38 loc) · 3.01 KB
/
CientificNotation.java
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
40
41
42
43
44
45
/*
====================================================
Desafios - GFT Start #4 Java
====================================================
3/3 - Notação Científica
====================================================
Números em ponto flutuante podem ser bastante extensos para mostrar. Nesses casos, é conveniente usar a notação científica.
Você deve escrever um programa que, dado um número em ponto flutuante, mostre este número na notação científica: sempre mostre o sinal da mantissa; sempre mostre 4 casas decimais na mantissa; use o caractere 'E' para separar a mantissa do expoente; sempre mostre o sinal do expoente; e mostre o expoente com pelo menos 2 dígitos.
Entrada
A entrada é um número em ponto flutuante de dupla precisão X (de acordo com o padrão IEEE 754-2008). Nunca haverá um número com mais de 110 caracteres nem com mais de 6 casas decimais.
Saída
A saída é o número X em uma única linha na notação científica detalhada acima. Veja os exemplos abaixo.
-----------------------------------------------------------------------------------------------------------------------------
| Exemplo de Entrada | Exemplo de Saída |
-----------------------------------------------------------------------------------------------------------------------------
| 3.141592 | +3.1416E+00 |
-----------------------------------------------------------------------------------------------------------------------------
| 1.618033 | +1.6180E+00 |
-----------------------------------------------------------------------------------------------------------------------------
| 602214085774747474747474 | +6.0221E+23 |
-----------------------------------------------------------------------------------------------------------------------------
|-0.000027 | -2.7000E-05 |
-----------------------------------------------------------------------------------------------------------------------------
| -10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 | -1.0000E+100 |
-----------------------------------------------------------------------------------------------------------------------------
Prova 1 de Programação de Computadores da UNILA (2015/2)
SOLUÇÃO ABAIXO: */
import java.io.IOException;
import java.util.Scanner;
public class CientificNotation {
public static void main(String[] args) throws IOException {
Scanner sc = new Scanner(System.in);
double value = sc.nextDouble();
String signal = (Math.signum(value) > 0) ? "+" : "";
System.out.printf("%s%10.4E\n", signal, value);
sc.close();
}
}