Boa tarde javeiros…
Eu peguei uma lista de exercício para fazer que tem vetor como comecei aprender Java faz pouco tempo eu estou com dúvida, nessa lista de exercício, tem a lista e as resoluções eu apaguei quase todas resoluções menos uma que vou colar aqui e pedir para vocês por favor me explicar o que o código está fazendo, se possível linha a linha.
Proposta do exercício:
Faça um programa que carregue um vetor com 10 números reais. Calcule e mostre a quantidade de números negativos e a soma dos números positivos deste vetor.
Resolução:
importjava.util.Scanner;publicclassEx01{publicstaticvoidmain(String[]args){Scannerentrada=newScanner(System.in);floatnum[]=newfloat[10],qtdNegativos=0,positivos=0;for(intcont=0;cont<10;cont++){System.out.print("Insira o "+(cont+1)+"° número Real: ");num[cont]=entrada.nextFloat();if(num[cont]>=0){positivos=positivos+num[cont];}else{++qtdNegativos;}}if(qtdNegativos>0){System.out.println("A quantidade de números Reais negativos é: "+qtdNegativos);}if(positivos>0){System.out.println("A soma dos números positivos do vetor é: "+positivos);}}}
O que exatamente não entendeu? O código é tão simples ( Isso não é desrespeito com sua dificuldade! Pelo amor de Deus! ) que não entendo onde está sua dúvida. Explique melhor para tentar te ajudar.
Abraço
javatar
Eu sei que é super fácil, por isso que pesquisei na internet.
Lista de exercícios básicos, eu estou aprendendo na faculdade, começo de if , switch a lógica eu já sei, mais não entendo os código usado ae.
Se tivesse como explicar as linhas…
essa parte que é todo o código, rsrsrs
Scannerentrada=newScanner(System.in);floatnum[]=newfloat[10],qtdNegativos=0,positivos=0;for(intcont=0;cont<10;cont++){System.out.print("Insira o "+(cont+1)+"° número Real: ");num[cont]=entrada.nextFloat();if(num[cont]>=0){positivos=positivos+num[cont];}else{++qtdNegativos;}}if(qtdNegativos>0){System.out.println("A quantidade de números Reais negativos é: "+qtdNegativos);}if(positivos>0){System.out.println("A soma dos números positivos do vetor é: "+positivos);
e não é que tenho dificuldade é que nunca vi isso mesmo em Java, dae eu peguei essa lista para aprimorar além do que estou aprendendo, a apostila que leio e o livro, não chegou nessa parte tbm…
Obrigado
josue_Placido
Cara marque as linhas que vc nao entende…
Fica mais facil explicar…
Agora explicar o codigo inteiro eh barra cara… :roll:
FabioQuintana
Segue a possivel solução para o seu problema.
/** * Vamos lá entao, fiz comentarios linha a linha * Procurei ser o mais simples possivel. *//** importa a biblioteca "Scanner" * essa biblioteca permite fazer leitura de um InputStream quando você usa * o System.in, nesse caso, lê entradas de teclado. */importjava.util.Scanner;/** * Define uma classe do tipo "public", que pode ser acessada por outras classes * a classe que mantem o "main" deve por default(padrao) ser public */publicclassEx01{/* definição do metodo main */publicstaticvoidmain(String[]args){/** * define um objeto do tipo Scanner * com o nome de "entrada", ou seja, * variavel que vai receber as entradas * via teclado do usuário. */Scannerentrada=newScanner(System.in);/* num[] = vetor que recebe os 10 valores digitados via teclado pelo usuário * qtdNegativos = variavel que conta quantos sao negativos * positivos = variavel que armazena a soma dos positivos */floatnum[]=newfloat[10],qtdNegativos=0,positivos=0;/* laço principal da execução, * recebe as entradas de teclado, e efetua os testes * isolando os positivos dos negativos, e somando os positivos * e contando o numero de negativos. */for(intcont=0;cont<10;cont++){/* exibi uma mensagem para o usuario com o numero * da inserção atual. */System.out.print("Insira o "+(cont+1)+"° número Real: ");/* atribui ao vetor num o valor digitado pelo usuario */num[cont]=entrada.nextFloat();/* testa se o numero inserio é maior que "0" * se verdade - identifica como sendo positivo e soma o valor * a variavel "positivos". * se falso - identifica como negativo e incrementa o contador de negativos */if(num[cont]>=0){/* soma o valor digitado pelo usuario ao valor atual da variavel * * ex.: soma = 10; * soma = soma + 10; * soma então passa a ser 20. * * otimização: * positivos += num[cont]; */positivos=positivos+num[cont];}else{/* incrementa a variavel qtdNegativos * equivalencias: * qtdNegativos = qtdNegativos + 1; * qtdNegativos += 1; * qtdNegativos++; */++qtdNegativos;}}/* testa se a variavel qtdNegativos é maior que "0" * se verdadeiro - exibi uma mensagem com a quantidade de negativos * se falso - nao executa nenhuma ação */if(qtdNegativos>0){/* imprimi mensagem com a quantidade de numeros negativos */System.out.println("A quantidade de números Reais negativos é: "+qtdNegativos);}/* testa se o somatori de positivos é maior que "0" * se verdadeiro - imprimi uma mensagem com o valor da soma de todos positivos * se falso - nao executa nenhuma ação * * essa verificação causa um possivel erro... * no caso de o usuario digitar 10 vezes o valor "0" * nao será impresso nada ao final da execução... * * otimização: * System.out.println("A soma dos números positivos do vetor é: " + positivos); * * conclusão: * por mais que todos valores digitados sejão menores que "0" * ainda assim o somatorio é "0" */if(positivos>0){System.out.println("A soma dos números positivos do vetor é: "+positivos);}}}
Espero ter ajudado.
Abraço e sucesso.
javatar
Bom Dia, muito obrigado era isso mesmo que precisava, agora com a explicação desse eu vou tentar fazer os outros…
Abraços e muito obrigado =)
T
thiagolc
Valeu pelo código, estou aprendendo programação usando vetores na linguagem C e esse código mesmo não sendo em C me ajudou bastante a resolver 1 questão similar a essa.
Posteriormente devo aprender java.