-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathProva.java
158 lines (126 loc) · 6.23 KB
/
Prova.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
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
import java.util.Arrays;
import java.util.Scanner;
public class Prova {
public static void main (String[] args){
Scanner scanner = new Scanner(System.in);
Prova prova = new Prova();
System.out.println("Informe quantas temperaturas deseja inserir: ");
int qntTemp = scanner.nextInt();
double[] temperaturas;
int[] unidade;
int[] unidadeTrans;
double resultado;
double media = 0;
double mediaTrans;
temperaturas = prova.pegaTemp(qntTemp);
unidade = prova.pegaUnidade(qntTemp);
unidadeTrans = prova.pegaUnidadeTrans(qntTemp);
String stringArr = Arrays.toString(temperaturas);
System.out.println("As temperaturas passadas foram: " + stringArr);
System.out.println("Escolha duas para converter: (1 - " + temperaturas.length + ")");
System.out.println("Primeira temperatura: ");
int indice1 = scanner.nextInt() - 1;
System.out.println("Segunda temperatura: ");
int indice2 = scanner.nextInt() - 1;
double[] temperaturasDepoisEscolhindas = new double[2];
temperaturasDepoisEscolhindas[0] = temperaturas[indice1];
temperaturasDepoisEscolhindas[1] = temperaturas[indice2];
for(int i = 0; i < temperaturasDepoisEscolhindas.length; i++){
if(unidade[i] == 1 && unidadeTrans[i] == 2) {
resultado = prova.conversaoCelsiusToFahrenheit(temperaturasDepoisEscolhindas[i]);
System.out.printf("Temperatura escolhida: %.2f C para: %.2f F\n",temperaturasDepoisEscolhindas[i], resultado);
mediaTrans = prova.calcMediaTrans(unidade[i], resultado);
System.out.println("A media das duas e de: " + mediaTrans);
}
if(unidade[i] == 1 && unidadeTrans[i] == 3) {
resultado = prova.conversaoCelsiusToKelvin(temperaturasDepoisEscolhindas[i]);
System.out.printf("Temperatura escolhida: %.2f C para: %.2f K\n",temperaturasDepoisEscolhindas[i], resultado);
mediaTrans = prova.calcMediaTrans(unidade[i], resultado);
System.out.println("A media das duas e de: " + mediaTrans);
}
if(unidade[i] == 2 && unidadeTrans[i] == 1) {
resultado = prova.conversaoFahrenheitToCelsius(temperaturasDepoisEscolhindas[i]);
System.out.printf("Temperatura escolhida: %.2f F para: %.2f C\n",temperaturasDepoisEscolhindas[i], resultado);
mediaTrans = prova.calcMediaTrans(unidade[i], resultado);
System.out.println("A media das duas e de: " + mediaTrans);
}
if(unidade[i] == 2 && unidadeTrans[i] == 3) {
resultado = prova.conversaoFahrenheitToKelvin(temperaturasDepoisEscolhindas[i]);
System.out.printf("Temperatura escolhida: %.2f F para: %.2f K\n",temperaturasDepoisEscolhindas[i], resultado);
mediaTrans = prova.calcMediaTrans(unidade[i], resultado);
System.out.println("A media das duas e de: " + mediaTrans);
}
if(unidade[i] == 3 && unidadeTrans[i] == 1) {
resultado = prova.conversaoKelvinToCelsius(temperaturasDepoisEscolhindas[i]);
System.out.printf("Temperatura escolhida: %.2f K para: %.2f C\n",temperaturasDepoisEscolhindas[i], resultado);
mediaTrans = prova.calcMediaTrans(unidade[i], resultado);
System.out.println("A media das duas e de: " + mediaTrans);
}
if(unidade[i] == 3 && unidadeTrans[i] == 2) {
resultado = prova.conversaoKelvinToFahrenheit(temperaturasDepoisEscolhindas[i]);
System.out.printf("Temperatura escolhida: %.2f K para: %.2f F\n",temperaturasDepoisEscolhindas[i], resultado);
mediaTrans = prova.calcMediaTrans(unidade[i], resultado);
System.out.println("A media das duas e de: " + mediaTrans);
}
if(unidade[i] == unidadeTrans[i]) {
System.out.println("Erro, temperaturas do mesmo tipo");
}
}
double soma = 0;
for(int i = 0;i < temperaturas.length; i++) {
soma += temperaturas[i];
media = soma / temperaturas.length;
}
System.out.println("A media de todas as temperaturas passadas e de: " + media);
}
public double conversaoFahrenheitToCelsius(double temperatura) {
return (temperatura - 32) / 1.8;
}
public double conversaoFahrenheitToKelvin(double temperatura) {
return (temperatura + 459.67) * 1.8;
}
public double conversaoKelvinToCelsius(double temperatura) {
return temperatura - 273.15;
}
public double conversaoKelvinToFahrenheit(double temperatura) {
return (temperatura * 1.8) - 459.57;
}
public double conversaoCelsiusToKelvin(double temperatura) {
return temperatura + 273.15;
}
public double conversaoCelsiusToFahrenheit(double temperatura) {
return (temperatura * 1.8) + 32;
}
public double[] pegaTemp(int qntTemp){
Scanner scanner = new Scanner(System.in);
double[] temp = new double[qntTemp];
for(int i = 0; i < qntTemp; i++) {
System.out.println("Informe a temperatura: ");
temp[i] = scanner.nextDouble();
}
return temp;
}
public int[] pegaUnidade(int qntTemp){
Scanner scanner = new Scanner(System.in);
int[] unidade = new int[qntTemp];
for(int i = 0; i < qntTemp; i++) {
System.out.println("Informe a unidade: ");
System.out.printf("Celsius - 1\nFahrenheit - 2\nKelvin - 3\n");
unidade[i] = scanner.nextInt();
}
return unidade;
}
public int[] pegaUnidadeTrans(int qntTemp){
Scanner scanner = new Scanner(System.in);
int[] unidadeTrans = new int[qntTemp];
for(int i = 0; i < qntTemp; i++) {
System.out.println("Informe a unidade para transformar: ");
System.out.printf("Celsius - 1\nFahrenheit - 2\nKelvin - 3\n");
unidadeTrans[i] = scanner.nextInt();
}
return unidadeTrans;
}
public double calcMediaTrans(double value1, double value2) {
return (value1 + value2) / 2;
}
}