boa noite a todos,
vim pedir ajuda para resolver esse programinha.
nao estou conseguindo imprimir a menor idade.
ele tem a funcao de armazenar 5 idades,retornar a media, a maior idade e a menor.
desde ja agradeço.
import java.util.Scanner;//importa a classe util.Scanner
import java.text.DecimalFormat;
import java.io.*;
class Ex1Vetor {
public static void main ( String args [] ){
BufferedReader entrada;
entrada= new BufferedReader( new InputStreamReader (System.in));
//DecimalFormat deci = new DecimalFormat("0.00");
int idade [] = new int [5];
int maiorid = 0;
double media = 0d;
int menorid = -1;
int soma = 0;
int cont = 0;
try{
for (int i = 0; i<idade.length;i++){
System.out.println("Qual idade ?");
idade [i] = Integer.parseInt(entrada.readLine());
soma+= idade[i];
cont=cont+1;
if (maiorid < idade[i] ){
maiorid = idade[i];
}else{
if (idade[i]<maiorid){
menorid=idade[i];
// if (menorid < maiorid){
// menorid = idade[i];
}
}
}
media = soma/cont;
System.out.printf("\na media e :\n%s",(media) );
System.out.printf("\nA maior idade e :\n%s",maiorid);
System.out.printf("\nA menor idade e :\n%s\n",menorid);
} catch (Exception e){
System.out.println("Ocorreu um erro durante a leitura!");
}
}
}
Cara, não sei se é a melhor forma, mas avalia aí.
Abraços.
public class Idade {
public static void main(String[] args) {
Integer[] idades = new Integer[]{20,50,15,30,45};
// Calcula a média
Integer soma = 0;
for (Integer idade: idades) {
soma += idade;
}
Integer media = soma / idades.length;
System.out.println("A média das idades é " + media);
// Maior idade
Integer maiorIdade = 0;
for (Integer idade: idades) {
maiorIdade = Math.max(maiorIdade, idade);
}
System.out.println("A maior idade é " + maiorIdade);
// Menor idade
Integer menorIdade = 0;
for (Integer idade: idades) {
if (menorIdade == 0) {
menorIdade = idade;
}
menorIdade = Math.min(menorIdade, idade);
}
System.out.println("A menor idade é " + menorIdade);
}
}
bom,desse jeito o resultado ja sai direto.porem o usuario e que vai inserir os dados.
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.List;
public class Idade {
public static void main(String[] args) {
BufferedReader entrada;
entrada= new BufferedReader(new InputStreamReader(System.in));
String line = "";
List<Integer> idades = new ArrayList<Integer>();
int count = 1;
try {
while (count <= 5) {
line = entrada.readLine();
try {
idades.add(Integer.parseInt(line));
count++;
}catch(NumberFormatException e) {
System.out.println("Você deve digitar um inteiro válido");
}
}
} catch (IOException e) {
e.printStackTrace();
}
// Calcula a média
Integer soma = 0;
for (Integer idade: idades) {
soma += idade;
}
Integer media = soma / idades.size();
System.out.println("A média das idades é " + media);
// Maior idade
Integer maiorIdade = 0;
for (Integer idade: idades) {
maiorIdade = Math.max(maiorIdade, idade);
}
System.out.println("A maior idade é " + maiorIdade);
// Menor idade
Integer menorIdade = 0;
for (Integer idade: idades) {
if (menorIdade == 0) {
menorIdade = idade;
}
menorIdade = Math.min(menorIdade, idade);
}
System.out.println("A menor idade é " + menorIdade);
}
}
Aproveitando que estou esperando os amigos de copo, dei uma refatorada na solução:
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.List;
public class Idade {
public static void main(String[] args) {
List<Integer> idades = capturaDados();
System.out.println("A média das idades é " + calculaMedia(idades));
System.out.println("A maior idade é " + calculaMaiorIdade(idades));
System.out.println("A menor idade é " + calculaMenorIdade(idades));
}
private static List<Integer> capturaDados() {
// Captura os dados
BufferedReader entrada;
entrada= new BufferedReader(new InputStreamReader(System.in));
String line = "";
List<Integer> idades = new ArrayList<Integer>();
int count = 1;
try {
while (count <= 5) {
line = entrada.readLine();
try {
idades.add(Integer.parseInt(line));
count++;
}catch(NumberFormatException e) {
System.out.println("Você deve digitar um inteiro válido");
}
}
} catch (IOException e) {
e.printStackTrace();
}
return idades;
}
private static Integer calculaMedia(List<Integer> idades) {
Integer soma = 0;
for (Integer idade: idades) {
soma += idade;
}
return soma / idades.size();
}
private static Integer calculaMaiorIdade(List<Integer> idades) {
Integer maiorIdade = 0;
for (Integer idade: idades) {
maiorIdade = Math.max(maiorIdade, idade);
}
return maiorIdade;
}
private static Integer calculaMenorIdade(List<Integer> idades) {
Integer menorIdade = 0;
for (Integer idade: idades) {
if (menorIdade == 0) {
menorIdade = idade;
}
menorIdade = Math.min(menorIdade, idade);
}
return menorIdade;
}
}
meu amigo,mutio obrigado…
agora vou tentar passar para a minha lingujagem, ja q ainda sou iniciante em java,
um grande abç