estou com duvida para desenvolver esse código, sei que pode ser usado while porem não sei como começar.
Escreva um programa em java que leia várias idades de uma determinada turma. o algoritmo deve ser interrompido assim que a idade 0 for digitada (condição de parada). Ao final do processo seu algoritmo deve mostrar quantas idades foram lidas e qual é a maior entre delas, respectivamente, conforme exemplos apresentados.
Observação, IDADE é um número natural, tal que 0 <= IDADE <= 1000.
Para IDADE igual. a 0, interromper o processo de leitura.
Você vai precisar de uma variável global para guardar a idade que vai ser recebida, pelos dois scanners. O primeiro fica fora da estrutura de repetição, de forma que se a idade for maior que 0, entra nele. Na estrutura, enquanto idade for diferente de 0, ela continua [while (idade 0)], e nisso, vai fazer o que precisa ser feito, depois faz o segundo scanner fica no final do while e ele pode ou não fazer continuar o loop.
Você pode usar uma lista para guardar os dados e depois pegar o tamanho dela.
Você pode fazer isso no começo da estrutura de repetição, que guardando em uma variável global (tipo maiorIdade) você vê se a idade daquele momento é maior que a atual, se for, essa idade será a nova maior
Condição confusa, afinal, se o objetivo é verificar qual foi a menor idade e a idade é um número natural maior ou igual a zero e menor ou igual a 1000 (estamos falando de Matusalém?). Logo, a menor idade será 0, porém, 0 é a condição de parada.
ENGENHEIRO_DE_SOFTWA
Tipo, terá que realizar uma contagem e a partir desta contagem determinar a idade?
Usar Scanner e … tá confuso.
darlan_machado
Não. A única parte confusa é a de que a idade pode ser qualquer número entre 0 e 1000, mas se for 0, para. Não especifica se 0 é considerado ou não como idade.
FearX1 like
Lembro da faculdade que 0 é geralmente usado como condição de escape dos laços.
ENGENHEIRO_DE_SOFTWA
Fez qual?
darlan_machado
Eu também.
Ou a condição de escape é qualquer valor menor que 0 ou as idades válidas são números naturais maiores que 0 e menores que 1000
FearX1 like
Se está perguntando sobre minha formação, Análise e Desenvolvimento de Sistemas.
Eu acredito que seja exatamente esse o caso.
FearX
De forma resumida, essa regra deveria ser
0 < IDADE < 1000 ou 0 < IDADE <= 1000.
A idade nunca pode ser considerada 0 ou o laço se quebra. A não ser que você queira especificamente que exista UM ÚNICO usuário com a idade 0, que pode ser considerado o último usuário.
darlan_machado
Mas isso iria contra um dos requisitos, que é, justamente, apresentar a menor e a maior idades dentre as inseridas.
FearX
Nesse caso, a menor idade sempre seria 0, né? Por isso eu adotaria essa regra aqui.
darlan_machado
Eu tb.
FearX
Se a regra for
Significa que a maior idade PODE SER 1000 e a menor idade PODE SER 0.