String + Double

2 respostas
T

Pessoal, por favor, me auxiliem aqui,

Faltei na facul hoje por motivos pessoais e não quero perder o entendimento desse conteúdo....

O professor passou o exercício para resolvermos em casa, e ele corrigiria em classe de aula....

import javax.swing.JOptionPane;


public class lista7 {

	/**
	 * @param args
	 * 
	 * 
	 * */
	
	 /*
	 	Elaborar um programa que armazene o nome e a altura de 15 pessoas,
	 	por meio do uso de registros. O programa deverá ser manipulado por um menu que execute as seguintes etapas
1		Apresentar os registros (nome e altura) das pessoas menores ou iguais a 1.5m.
2		Apresentar os registros (nome e altura) das pessoas que sejam maiores que 1.5m.
3		Apresentar os registros (nome e altura) das pessoas que sejam maiores que 1.5m e menores que 2.0m.
4		Apresentar a média extraída de todas as alturas armazenadas.
		Sair do programa.
	 */
	
	
	
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		cadastro [] lista7 = new cadastro[2];
		
		for (int i=0; i<=15; i++){
			lista7[i] = new cadastro();
			
			lista7[i].Nome = JOptionPane.showInputDialog("Digite um nome: ");
			lista7[i].Altura = Double.parseDouble(JOptionPane.showInputDialog("Digite sua altura: "));					
		}
		
		int num = Integer.parseInt(JOptionPane.showInputDialog("Digite um numero \n1 - Apresentar altura menor que 1.5m\n2 - Apresentar altura maior que 1.5m\n3 - Apresentar" +
				"Maiores que 1.5 e menores que 2.0\n4 - Apresentar a média de todas alturas"));
				
		while (num != 5){
			if (num == 1){
				int resultado = Menor();
					System.out.println("Valores " + resultado);
			}
			if (num == 2){
				int resultado = Maior();
					System.out.println("Valores " + resultado);
			}
			if (num == 3){
				int resultado = Entre();
					System.out.println("Valores " + resultado);
			}
			if (num == 4){
				int resultado = Media();
					System.out.println("Valores " + resultado);
			}
		}
	}
		
		public static int Menor(){
			cadastro [] lista7 = new cadastro[2];
			
			for (int i = 0; i < 15; i++){
				lista7[i] = new cadastro();
				if (lista7[i].Altura < 1.5){
					JOptionPane.showMessageDialog(null, "Nome: "+ lista7[i].Nome + " Altura: " + lista7[i].Altura +  "\n");
				}
			}
		}
			

		public static int Maior(){
			cadastro [] lista7 = new cadastro[2];
			
			for (int i = 0; i < 15; i++){
				lista7[i] = new cadastro();
				if (lista7[i].Altura > 1.5){
					JOptionPane.showMessageDialog(null, "Nome: "+ lista7[i].Nome + " Altura: " + lista7[i].Altura +  "\n");
				}
			}
		}

		
		public static int Entre(){
			cadastro [] lista7 = new cadastro[2];
			
			for (int i = 0; i < 15; i++){
				lista7[i] = new cadastro();
				if (lista7[i].Altura > 2.0) %% (lista7[i].Altura < 1.5){ 														// DIFICULDADE AQUI (alias dificuldade em quase tudo)
					JOptionPane.showMessageDialog(null, "Nome: "+ lista7[i].Nome + " Altura: " + lista7[i].Altura +  "\n");
				}
			}
		}

		public static int Media(){
			cadastro [] lista7 = new cadastro[2];
			
			for (int i = 0; i < 15; i++){
				lista7[i] = new cadastro();
				Double resultado = lista7[i].Altura + resultado;
				Double MEDIA = ( resultado / 15);
				}
			}
		}

Meu cadastro.java tem isso

public class cadastro {
	String Nome;
	double Altura;
	
	/* int Idade; 
	String Cor;
	String Sexo; */	

}

Eu iria colocar mais informações apenas para efeito de meu entendimento, mas como complicou demais, acabei comentando idade, cor e sexo....

Conto com a ajuda de vocês por gentileza :)

2 Respostas

W

Ajudar 100% é impossível porque é o mesmo que fazer o trabalho que você tem que fazer.

Leia o enunciado:

Elaborar um programa que armazene o nome e a altura de 15 pessoas,
por meio do uso de registros. O programa deverá ser manipulado por um menu que execute as seguintes etapas
1 Apresentar os registros (nome e altura) das pessoas menores ou iguais a 1.5m.
2 Apresentar os registros (nome e altura) das pessoas que sejam maiores que 1.5m.
3 Apresentar os registros (nome e altura) das pessoas que sejam maiores que 1.5m e menores que 2.0m.
4 Apresentar a média extraída de todas as alturas armazenadas.
Sair do programa.

Análise do exercício

A - Elaborar um programa que armazene o nome e a altura de 15 pessoas : Idenficada a classe Pessoa com atributos nome e altura encapsulados por getters/setters).

B - “… o programa : Indentificada a classe Programa com um método executor para:

C - Construir e chamar uma função para enumerar as pessoas cadastradas (uma collection) e exibir pessoas cujo altura <= 1.5;

D - Construir e chamar uma função para enumerar as pessoas cadastradas (uma collection) e exibir pessoas cujo altura > 1.5;

E - Construir e chamar uma função para enumerar as pessoas cadastradas (uma collection) e exibir pessoas cujo altura > 1.5 e altura < 2.0;

D - Construir e chamar uma função para enumerar as pessoas cadastradas (uma collection) para somar alturas (variável) e dividir por 15.0 e mostrar resultado.

Revisa seu algoritimo a partir desta análise e tenta aplicar as correções que achar necessárias.

Pode postar o que fizer.

wiliamps

T

Então, agora estou no serviço, aqui não uso ECLIPSE,

Só uso PL/SQL e Crystal…

Mas ontem à noite eu fiz algumas alterações

Nesta linha

public static void main(String[] args) { // TODO Auto-generated method stub cadastro [] lista7 = new cadastro[2];

Eu alterei para

public static void main(String[] args) { // TODO Auto-generated method stub cadastro [] lista7 = new cadastro[15];

Onde 15 são o número de entrada? é isso? Pois com 2, eu rodava o programa, e só lia 2 vezes e já dava erro…

Porém, faço as entradas e o programa já da erro, não tem problemas vcs me ajudarem, pois eu estudo num colégio Adventista
Lá eles tem um site onde programam que a lição só poderá ser entregue até 05/11/2012 às 19:00hrs, automaticamente o site trava o envio…:frowning:

Então eu aprendendo ou não, pra efeito de nota isso não terá valor, apenas quero aprender pro meu entendimento…

Nessa linha esta nítido que eu não sei que eu não sei qual operador usar

for (int i = 0; i < 15; i++){ lista7[i] = new cadastro(); if (lista7[i].Altura > 2.0) %% (lista7[i].Altura < 1.5){ // DIFICULDADE AQUI (alias dificuldade em quase tudo) JOptionPane.showMessageDialog(null, "Nome: "+ lista7[i].Nome + " Altura: " + lista7[i].Altura + "\n"); } } }

O objetivo desse código é fazer essa linha
– 3 Apresentar os registros (nome e altura) das pessoas que sejam maiores que 1.5m e menores que 2.0m.

Bom, por enquanto eu to com essas dificuldades
Não sei o porque esta dando erro ao fazer as entradas ele da um erro… eu não sei o motivo…
Não consigo retornar os resultados com o código return porque eles são vetores, certo?

O que vcs aconselham ler pra dar uma clareada na minha cabeça nesse início de aprendizagem…

Baixei um livro…Use a Cabeca! Java…comecei a ler, parece ser super interessante, mas seria o ideal??

Criado 5 de novembro de 2012
Ultima resposta 6 de nov. de 2012
Respostas 2
Participantes 2