Algotimo estrutura de repetição[resolvido]

eu preciso fazer um algoritmo assim mais acho q estou errando em algo alguém pode me dizer?? obriigado

[code]/*1) Foi feita uma pesquisa entre os habitantes de uma região. Foram coletados os dados de idade,
sexo (M/F) e salário. Faça um programa que calcule e mostre:

  • a média dos salários do grupo;
  • a maior e a menor idade do grupo;
  • a quantidade de mulheres com salário até R$ 200,00;
  • a idade e o sexo da pessoa que possui o menor salário.
    Finalize a entrada de dados ao ser digitada uma idade negativa.*/

import java.util.*;
public class exercicio1 {
public static void main(String args[]){

// Seção de Declarações
char sexo;
int idade = 0,conth,contf500,maior,menor;
double salario,ssalario = 0;
Scanner dado = new Scanner(System.in);
// Seção de Comandos

conth = 0;
contf500 = 0;
maior = 0;
menor = 200;
salario = 1;

while (idade < 0){

System.out.println("Qual a idade do entrevistado: ");
idade = dado.nextInt();
System.out.println("Sexo<M/F>: ");
sexo = dado.next().charAt(0);
System.out.println("Salario: R$");
salario = dado.nextDouble();

if(salario > 0 )

ssalario = ssalario + salario;
conth = conth +1;

if(idade > maior)
maior =idade;

if(idade < menor)
menor = idade;

if(salario <= 500 && sexo =='f')
contf500 =contf500 + 1;
}

System.out.println("Media dos salarios do grupo: R$"+ssalario/conth);
System.out.println("Menor idade: "+menor+" anos");
System.out.println("Maior idade: "+maior+" anos");
System.out.println("A quantidade de mulheres com salário até R$ 500,00 foi de: "+contf500);

}
}
[/code]

Do jeito que está nunca irá entrar no loop pois a idade está em 0 e o while vai ser enquanto a idade menor que zero, o certo seria enquanto idade maior ou igual a zero, corrija isso e estará tudo ok.

Não consegui entender muito bem seu algoritmo, os nomes das variáveis estão bem confusos…
Sugestão: crie métodos separados para retornar cada informação, passando os dados inseridos como parâmetro.
E, também, nunca utilize “==” para comparar strings (como em “sexo==‘f’”), utilize sempre string.equalsIgnoreCase(‘outraString’).

Você pode postar o resultado da execução, ou erros que estejam acontecendo?

eu mudei o algoritmo da uma olhada

[code]/*1) Foi feita uma pesquisa entre os habitantes de uma região. Foram coletados os dados de idade,
sexo (M/F) e salário. Faça um programa que calcule e mostre:

  • a média dos salários do grupo;
  • a maior e a menor idade do grupo;
  • a quantidade de mulheres com salário até R$ 200,00;
  • a idade e o sexo da pessoa que possui o menor salário.
    Finalize a entrada de dados ao ser digitada uma idade negativa.*/

import java.util.*;
public class exercicio1 {
public static void main(String args[]){

// Seção de Declarações
char sexo = 0;
int idade = 0,conth,contf200,maior,menor;
double salario,ssalario =0;
Scanner dado = new Scanner(System.in);
// Seção de Comandos

conth = 0;
contf200 = 0;
maior = 0;
menor = 200;
salario = 1;

while (salario > 0){

System.out.println("Qual a idade do entrevistado: ");
idade = dado.nextInt();
System.out.println("Sexo<M/F>: ");
sexo = dado.next().charAt(0);
System.out.println("Salario: R$");
salario = dado.nextDouble();

if(salario > 0 ){

ssalario = ssalario + salario;
conth = conth +1;
}
if(idade > maior){
maior =idade;
}
if(idade < menor){
menor = idade;

}
if(salario <= 200 && sexo =='f'){
contf200 =contf200 + 1;
}
if(idade < 0){
System.out.println("fim programa");
System.out.println("Media dos salarios do grupo: R$"+ssalario/conth);
System.out.println("Menor idade: "+menor+" anos");
System.out.println("Maior idade: "+maior+" anos");
System.out.println("A quantidade de mulheres com salário até R$ 200,00 foi de: "+contf200);
System.out.println("A idade da pessoa e o sexo que possui o menor salário");
}

}
}
}[/code]

O enunciado da questão pede que o loop encerre quando a idade for negativa do jeito q está ai se ela for zero o loop iria encerrar.
Fora isso acho que não há nenhum problema +.

eu sei achar o menor salário mais não sei mostra junto a idade da pessoa q tem o maior salário e o sexo…

então só falta a idade da pessoa que possui o menor salário e o sexo…q nao estou conseguindo fazer

Cara, não seria interessante criar uma classe “Pessoa” que receba esses atributos descritos?
Ai vc armazena as informações das Pessoas em um Array.

Faz assim se ñ entender dá o toque.

[code] int menorIdade;
int menorSexo;
Double menorSalario = 9999.0;

while (idade >= 0){

System.out.println("Qual a idade do entrevistado: ");
idade = dado.nextInt();
System.out.println("Sexo<M/F>: ");
sexo = dado.next().charAt(0);
System.out.println("Salario: R$");
salario = dado.nextDouble();

if(salario<menorSalario){
	menorSalario = salario;
	menorSexo = sexo;
	menorIdade = idade;
}[/code]

Depois tu printa as variáveis menorSalario, menorSexo e menorIdade.

consegui aqui assim da uma olhadaaa ve se ta certo?

[code]/*1) Foi feita uma pesquisa entre os habitantes de uma região. Foram coletados os dados de idade,
sexo (M/F) e salário. Faça um programa que calcule e mostre:

  • a média dos salários do grupo;
  • a maior e a menor idade do grupo;
  • a quantidade de mulheres com salário até R$ 200,00;
  • a idade e o sexo da pessoa que possui o menor salário.
    Finalize a entrada de dados ao ser digitada uma idade negativa.*/

import java.util.*;
public class exercicio1 {
public static void main(String args[]){

// Seção de Declarações
char sexo = 0,menorsalsexo = 0;
int idade = 0,conth,contf200,maior,menor,menorsalidade = 0;
double salario,ssalario =0,menorsalario;
Scanner dado = new Scanner(System.in);
// Seção de Comandos

conth = 0;
contf200 = 0;
maior = 0;
menor = 200;
salario = 1;
menorsalario = 9999;

while (salario > 0){

System.out.println("Qual a idade do entrevistado: ");
idade = dado.nextInt();
System.out.println("Sexo<M/F>: ");
sexo = dado.next().charAt(0);
System.out.println("Salario: R$");
salario = dado.nextDouble();

if(salario > 0 ){

ssalario = ssalario + salario;
conth = conth +1;
}
if(idade > maior){
maior =idade;
}
if(idade < menor){
menor = idade;

}
if(salario <= 200 && sexo =='f'){
contf200 =contf200 + 1;
}
if(salario < menorsalario){
	menorsalario = salario;
	menorsalidade = idade;
	menorsalsexo = sexo;
}
if(idade < 0){
System.out.println("fim programa");
System.out.println("Media dos salarios do grupo: R$"+ssalario/conth);
System.out.println("Menor idade: "+menor+" anos");
System.out.println("Maior idade: "+maior+" anos");
System.out.println("A quantidade de mulheres com salário até R$ 200,00 foi de: "+contf200);
System.out.println("A idade da pessoa e o sexo que possui o menor salário "+menorsalario+" foi da pessoa com idade "+menorsalidade+" do sexo "+menorsalsexo);
}

}
}
}[/code]

Blz é isso ai.