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
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.