Tenho um exércicio para fazer usando while, fiz ele só que me perco na hora de fazer o calculo…
Ana tem 1,5 metros e cresce 2 cm por ano, enquanto Zé tem 1,1 metros e cresce 3 centímetros por ano. Construa um programa que calcule e mostre quantos anos serão necessários para que Zé seja maior que Ana.
O programa que eu fiz é esse,mais acho que meu erro começa com o conteudo dentro do While…
importjavax.swing.*;publicclassAltura{publicstaticvoidmain(String[]args){Stringnome_homem,nome_mulher;doublealtura_homem,altura_mulher;intanos_necessarios,anos=0,homem_cresce=3,mulher_cresce=2;nome_homem=JOptionPane.showInputDialog("Digite o nome do homem");altura_homem=Double.parseDouble(JOptionPane.showInputDialog("Digite a altura do homem"));nome_mulher=JOptionPane.showInputDialog("Digite o nome do mulher");altura_mulher=Double.parseDouble(JOptionPane.showInputDialog("Digite a altura do mulher"));while(altura_homem>altura_mulher){anos=Integer.parseInt(JOptionPane.showInputDialog("Digite o ano"));}System.out.println("os anos necessarios são"+anos);}}
Oi.
Acho que você não entendeu muito bem o problema.
Se a Ana cresce 2 cm por ano e Zé, 3, você deve iterar enquanto a altura do Zé seja menor que a da Ana. Dentro da estrutura de repetição, você deve somar 0.2 na altura de Ana e 0.3 na altura de Zé. Além disso, deve incrementar uma variável (por exemplo, anos), para, no final apresentar o valor. Portanto, falta criar uma nova variável inteira, arrumar o cabeçalho do while e fazer os cálculos dentro do while.
A
Alexdino
A questão é que eu não sei fazer a conta para achar quantos anos serão necessários.
Z
zanubix
vê se ajuda....
importjavax.swing.*;publicclassAltura{publicstaticvoidmain(String[]args){Stringnome_homem,nome_mulher;doublealtura_homem,altura_mulher;intanos=0;nome_homem=JOptionPane.showInputDialog("Digite o nome do homem");altura_homem=Double.parseDouble(JOptionPane.showInputDialog("Digite a altura do homem"));nome_mulher=JOptionPane.showInputDialog("Digite o nome do mulher");altura_mulher=Double.parseDouble(JOptionPane.showInputDialog("Digite a altura do mulher"));while(altura_homem<altura_mulher){altura_homem+=3;altura_mulher+=2;anos++;}System.out.println("os anos necessarios são"+anos);}}
A
Alexdino
Tá melhor que o meu,mais o resultado da 0.o certo seria 4 anos para que a altura do homem fique maior que a da mulher…
renzonuccitelli
Isso que o André te repondeu. quem vai achar é o programa, simulando os anos (em cada laço) somando a altura que cada um cresce. Aí qdo a altura de um ultrapassar a dos outro, vc terá o número de anos. Apesar de nao estar explicito, é provavelmente assim que quem fez o enunciado deseja que vc faça.
Caso contrário, vc poderia fazer via sistema:
A culpa é da professora,foi ela que passo a lista…eu fiz na minha cabeça assim
ela tem 1.5 + 1 ano =1.7 +1ano=1.9 +1ano=1.10 +1ano=1.12
ele tem 1.1 +1 ano=1.4 +1ano=1.7 +1ano=1.10 +1ano=1.13
ele ficaria mais alto no 4 ano…Só que isso eu não consegui aplica no programa.
renzonuccitelli
Então é a opção 2, ele cresce 30 cm por ano e ela 20. E Na realidade, no 4 ano eles estariam do mesmo tamanho, caso em que teria quer ser usado >= na inequaçao. Como ela quer maior, seria no 5 ano…
Andre_Brito
Mais que isso é injusto.
publicclassAltura{publicstaticvoidmain(String[]args){doublealturaZe=1.1,alturaAna=1.5;doublecrescimentoAnoZe=0.3,crescimentoAnoAna=0.2;intanos=0;while(alturaZe<alturaAna){anos++;alturaZe+=crescimentoAnoZe;alturaAna+=crescimentoAnoAna;}System.out.println("Em "+anos+" anos, Ze vai ser maior.");}}