Como somar o valor a pagar? [RESOLVIDO]

Estou precisando de ajuda para terminar dois códigos. o primeiro é pra pedir 5 produtos, quantidade , valor e desconto. preciso mostrar o valor total a pagar.
ai está o que ja fiz, esta rodando só preciso complementar o ultimoo requisito pedido no enunciado.

import java.util.Scanner;
public class Principal
{
     public static void main(String[] args)
     {
           Scanner entrada = new Scanner(System.in);
           Produto[] produtos = new Produto[5];
           //Produto[] conteiner = new Produto[5];


           for(int i=0; i < produtos.length; i++)
           {
              Produto p = new Produto();
              System.out.println("Entre com o nome do " + (i+1) + "º Produto");
	      p.nome = entrada.next();

              System.out.println("Entre com a quantidade do " + (i+1) + "º Produto");
	      p.quantidade = entrada.nextFloat();

              System.out.println("Entre com o preço do " + (i+1) + "º Produto");
	      p.preço = entrada.nextFloat();

              System.out.println("Entre com o desconto do " + (i+1) + "º Produto, se houver, se não digite zero:");
	      p.desconto = entrada.nextFloat();
              produtos[i] = p;
           }

        }


}
public class Produto{

     public String nome;
     public float quantidade;
     public float preço;
     public float desconto;
    
}

Se alguém puder me ajudar eu agradeço.

sou novato no GUJ.

Fala garotinho… Seja bem vindo ao fórum. Espero que você atente para o que lhe falarei agora.

1 - O que você está pedindo é Java Básico não avançado, muito cuidado em qual fórum criar o seu tópico.

2 - Poste seus códigos entre as Tags CODE, vá ao Java Básico e procure nos tópicos fixos do fórum, no Post de Iniciantes, que ensina como fazer isso detalhadamente, senão podes fazer com que as pessoas nem leiam seu código (eu sou um);

3 - Leia esse artigo: http://www.istf.com.br/perguntas/ que vai lhe ajudar pacas daqui pra frente, tanto no tópico quanto na TI.

Abs []

Obrigado mano pela dica. já resolvi o problema da formatação do post.

sei também agora que trata-se de básico e não de avançado.
mais pode me ajudar nesses codigos?
cara tem dias que tento resolver. não valem nota mais preciso aprende-los.
se puder me ajudar eu agradeço.

Por favor, evite colocar o título dos tópicos em caixa alta.
Parece que você está gritando.
Vou alterar o seu título tudo bem?

[]'s

tudo bem.

public class Principal {

    public static void main(String[] args) {
        Scanner entrada = new Scanner(System.in);
        Produto[] produtos = new Produto[5];
        float totalPreco = 0;
        //Produto[] conteiner = new Produto[5];


        for (int i = 0; i < produtos.length; i++) {
            Produto p = new Produto();
            System.out.println("Entre com o nome do " + (i + 1) + "º Produto");
            p.nome = entrada.next();

            System.out.println("Entre com a quantidade do " + (i + 1) + "º Produto");
            p.quantidade = entrada.nextFloat();

            System.out.println("Entre com o preço do " + (i + 1) + "º Produto");
            p.preço = entrada.nextFloat();

            System.out.println("Entre com o desconto do " + (i + 1) + "º Produto, se houver, se não digite zero:");
            p.desconto = entrada.nextFloat();
            produtos[i] = p;
        }

        for (Produto p : produtos) {
            totalPreco += p.preço;
        }

        System.out.println("Valor Total a pagar: "+ totalPreco);

    }
}

Cara, esse é o for aprimorado, uma novodade do java 5. Ele faz um loop no array e pega todos os preços dos produtos. Agora você tem que atentar para o fato de que seu algoritmo não está levando em consideração a quantidade e o desconto para fazer a soma dos preços. Isso você terá que consertar.
Abraços.

estas a falar sobre o enhanced for?
geralmente eu não uso… agora… não entendi muito bem a duvida.

voce quer pegar o valor de cada produto e somar?

crie uma variavel “total”
crie no objeto produto um método que retorne o valor total, ou seja, (quantidade * preco) - desconto.

crie um for que some o valor de cada um deles a uma determinada variavel X.

x += produto[i].getTotal();

problema do guj é que o pessoal gosta de dar lição de moral, apontar falhas mais poucos se empenham em resolver problemas.
garotinho… es.santos2010@hotmail.com

qualquer duvida…

se quiser pode me mandar mensagem privada também fique a vontade. o pouco que sei compartilho, ensinar é aprender duas vezes.

Ok Elizeu, já te adicionei no msn. precisarei de ti com toda certeza.

para esclarecer, eu preciso completar o código, pra que ele me dê o valor total a pagar, ou seja acho que a logica seria mais ou menos assim:

soma=(1º valor *  quantidade do produto - desconto) + (2º valor * quantidade do produto - desconto).... assim pod diante.

preciso de um laço que leia todo o vetor e va somando um por um e depois de o resultado da soma total.

me desculpe, mais sou novato em programação e talvez por isso não tenha entendido o que o amigo paulociecomp, escreveu.
se puderem me ajudar fico muito agradecido.

garotinhodejesus foi mal minha. Eu é que havia entendido errado.
Vamos fazer como o Elizeu_Santos sugeriu. Criaremos um método getValorAPagar() na classe produto.

public float getValorAPagar(){
        return (preço * quantidade) - desconto;
     }

Esse método vai calcular o valor de acordo com a quantida e desconto por produto.
Na classe principal criaremos uma variável total e armazenaremos nela o total a pagar dentro do seu for.

total += p.getValorAPagar();

Veja como ficou:

public class Principal
{
     public static void main(String[] args)
     {
           Scanner entrada = new Scanner(System.in);
           Produto[] produtos = new Produto[5];
           float total = 0;
           //Produto[] conteiner = new Produto[5];


           for(int i=0; i < produtos.length; i++)
           {
              Produto p = new Produto();
              System.out.println("Entre com o nome do " + (i+1) + "º Produto");
	      p.nome = entrada.next();

              System.out.println("Entre com a quantidade do " + (i+1) + "º Produto");
	      p.quantidade = entrada.nextFloat();

              System.out.println("Entre com o preço do " + (i+1) + "º Produto");
	      p.preço = entrada.nextFloat();

              System.out.println("Entre com o desconto do " + (i+1) + "º Produto, se houver, se não digite zero:");
	      p.desconto = entrada.nextFloat();
              produtos[i] = p;

              total += p.getValorAPagar();
           }

           System.out.println("Total a pagar:"+total);

        }

     


}

class Produto{

     public String nome;
     public float quantidade;
     public float preço;
     public float desconto;

     public float getValorAPagar(){
        return (preço * quantidade) - desconto;
     }

}

Espero ter ajudado. E espero que a atitude de alguns não te desestimule a postar no fórum.

[quote=Elizeu_Santos]problema do guj é que o pessoal gosta de dar lição de moral, apontar falhas mais poucos se empenham em resolver problemas.
garotinho… es.santos2010@hotmail.com

qualquer duvida…

se quiser pode me mandar mensagem privada também fique a vontade. o pouco que sei compartilho, ensinar é aprender duas vezes.[/quote]

Espero que esse “pessoal” não seja eu Elizeu, pois se você ler as indicações que dei ao garotinho não foi com objetivo de apontar problemas ou prejudicá-lo, tenho certeza que se ele leu o link que passei, deve está agradecido pelo que leu e encarou com bons olhos.

Agora não encare que uma não ajuda em um código é por maldade ou por não querer. Ainda digo mais, não dê o peixe pra alguém, ensine-o a pescar. Se você não gosta do “pessoal do GUJ” sinta-se a vontade pra sair do fórum.

Garotinho infelizmente não pude voltar ao tópico a tempo de ajudá-lo pois o Elizeu e o Paulo já o haviam feito. O que eles colocaram acima pra você creio que já resolva seu problema, qualquer coisa posta aí de novo.

Abs [] e bons estudos…

[quote=adriano_si][quote=Elizeu_Santos]problema do guj é que o pessoal gosta de dar lição de moral, apontar falhas mais poucos se empenham em resolver problemas.
garotinho… es.santos2010@hotmail.com

qualquer duvida…

se quiser pode me mandar mensagem privada também fique a vontade. o pouco que sei compartilho, ensinar é aprender duas vezes.[/quote]

Espero que esse “pessoal” não seja eu Elizeu, pois se você ler as indicações que dei ao garotinho não foi com objetivo de apontar problemas ou prejudicá-lo, tenho certeza que se ele leu o link que passei, deve está agradecido pelo que leu e encarou com bons olhos.

Agora não encare que uma não ajuda em um código é por maldade ou por não querer. Ainda digo mais, não dê o peixe pra alguém, ensine-o a pescar. Se você não gosta do “pessoal do GUJ” sinta-se a vontade pra sair do fórum.

Garotinho infelizmente não pude voltar ao tópico a tempo de ajudá-lo pois o Elizeu e o Paulo já o haviam feito. O que eles colocaram acima pra você creio que já resolva seu problema, qualquer coisa posta aí de novo.

Abs [] e bons estudos…[/quote]

não citei nomes. a ultima coisa que quero é WAR. disto o mundo já esta cheio, quero que as pessoas sejam mais solidarias, só isso.
forte abraço a todos.

garotinho, vou entrar no ebuddy pra tentar te adc, o Empathy do Linux ta dando uns problemas…
forte abraço fique com Deus.
Caso queira… tenho disponível a apostila FJ-16 da caelum… o download é exclusivo para ex-alunos da caelum… porém eles não disseram nada sobre compartilhar =).

[quote=Elizeu_Santos]não citei nomes. a ultima coisa que quero é WAR. disto o mundo já esta cheio, quero que as pessoas sejam mais solidarias, só isso.
forte abraço a todos.[/quote]

Ninguém quer guerra, só que embora não tenha citado nomes, a indireta foi BEM direta.

Espero apenas que você entenda que quando alguém pede pra organizar melhor as perguntas ou formatarmelhor o tópico, é ajuda tão igual quanto com código, afinal a sobrevivência dele na TI dependerá também disso.

Eu sei como é pegar respostas APARENTEMENTE mal educadas na cara… Fiz muita merda no início de convivência em fórums e aprendi apanhando…

Só que no meu caso não aprendi com conselhos, aprendi sendo xingado mesmo… heueheueheueeheuehue…

Abs []

Quero agradecer a todos que se empenharam em me ajudar. foi minha primeira esperiencia com o GUY, mais sou muito grato a todos vcs e com certeza vou precisar de vcs amigos.
obrigado e até a proxima.