Desenvolver código

29 respostas
R

Galera, preciso de ajuda nesse exercício:

  1. Desenvolva um código que retorne o valor a pagar de uma compra, de acordo com o seguinte cenário:

Valor da compra = 2000;

Faixa (Desconto %)
0 à 1000 (0%)
1001 à 3000 (5%)
Acima de 3000 (10%)

Só consegui fazer o seguinte:

class ValorCompra{

public static void main(String[] args){

int x = 2000, a = 0, b = 1000, c = 1001, d = 3000;

//imagino que preciso usar if, ou nem seria preciso???

}

}

29 Respostas

M

Sim, precisarás de um if. Mas antes do if precisas guardar o valor que o usuário digitar em uma variável para aí sim fazer a comparação.

AlissonSchneider

isso você terá que utilizar o IF

vamos lá

crie uma variavel que armazene o valor da compra e o desconto e o resultado final, feito isso vamos ao próximo passo agora nós iremos fazer a verificação ou seja
double valordacompra;
double desconto;
double result;

valordacompra=1500;

if (valordacompra<=1000){
System.out.println("O valor da compra é"+valordacompra);
}else if(valordacompra>1000 || valordacompra<=3000){
desconto=valordacompra*(0.05); //5%
result=valordacompra-desconto;
}else{
desconto=valordacompra*(0.1); //10%
result=valordacompra-desconto;
}
AlissonSchneider

Cara dá uma olhadinha ai no meu código vê se não tem erro se tiver posta ai e se der certo maravilha

boa sorte

abrass

:wink:

R

class ValorCompra{

public static void main(String[] args){

int x = 2000, a = 0, b = 1000, c = 1001, d = 3000;
double valordacompra;

double desconto;

double result;

valordacompra = x;

if (x <= 1000){

System.out.println("O valor da compra é " + x);

}else if(x > 1000 || x <= 3000){

desconto = x * (0.05); //5%

result = x - desconto;

}else{

desconto = x * (0.1); //10%

result = x - desconto;

}
}

}

bom, fiz isso, troquei o valor por x só, tá compilando, mas na hora de executar ele pula a linha só, não aparece nada e enm dá erro.

M

sempre tem um perdido pra dar o código pronto…

AlissonSchneider
int x = 2000, a = 0, b = 1000, c = 1001, d = 3000;

Isso é opcional

abrass

:wink:

R

Não tem perdido pra dar o código pronto, tem gente disponível a ajudar, pq se eu soubesse fazer, não viria até aqui. Outra coisa, você fala isso pq provavelmente sabe fazer, mas tem outras coisas que não sabe, então, se não tiver quem te ajude, não pergunte-se pq, apenas lembre-se de hj. Abraços.

GuilhermeKFreitas

Não está exibindo nada porque você não colocou nada pra exibir.
Só está exibindo quando o valor for <= 1000.

class ValorCompra{ 

public static void main(String[] args){ 

int x = 2000, a = 0, b = 1000, c = 1001, d = 3000; 

double valordacompra; 
double desconto; 
double result; 

valordacompra = x; 

if (x <= 1000){ 
System.out.println("O valor da compra é " + x);                 // neste caso imprime o valor ! 
}else if(x > 1000 || x <= 3000){ 
desconto = x * (0.05); //5% 
result = x - desconto;                                                      // e quanto a este if ?
}else{ 
desconto = x * (0.1); //10% 
result = x - desconto;                                                      // e este ?
} 


} 
}

Pra evitar um monte de System.out.println() pelo código, é melhor imprimir o resultado só depois que você já passou pelo IF.

M

Não tem perdido pra dar o código pronto, tem gente disponível a ajudar, pq se eu soubesse fazer, não viria até aqui. Outra coisa, você fala isso pq provavelmente sabe fazer, mas tem outras coisas que não sabe, então, se não tiver quem te ajude, não pergunte-se pq, apenas lembre-se de hj. Abraços.

Você está perdendo com esse tipo de “aprendizado”. Lá na frente você sentirá a diferença de ter copiado código agora.

AlissonSchneider

GuilhermeKFreitas:
Não está exibindo nada porque você não colocou nada pra exibir.
Só está exibindo quando o valor for <= 1000.

class ValorCompra{ 

public static void main(String[] args){ 

int x = 2000, a = 0, b = 1000, c = 1001, d = 3000; 

double valordacompra; 
double desconto; 
double result; 

valordacompra = x; 

if (x <= 1000){ 
System.out.println("O valor da compra é " + x);                 // neste caso imprime o valor ! 
}else if(x > 1000 || x <= 3000){ 
desconto = x * (0.05); //5% 
result = x - desconto;                                                      // e quanto a este if ?
}else{ 
desconto = x * (0.1); //10% 
result = x - desconto;                                                      // e este ?
} 


} 
}

Pra evitar um monte de System.out.println() pelo código, é melhor imprimir o resultado só depois que você já passou pelo IF.

Eu desenvolvi esse código na pressa realmente está faltando os System.out.println e realmente uma forma de evitar muitos Syste.out.print é jogar depois da verifcação

isso é opcional o código está correto a verficação tb

apenas falta os System.out.println EU JÁ TINHA PERCEBIDO não editei pois estava esperando a resposta do Autor do Tópico

AlissonSchneider

Em primeiro lugar meu código não está PRONTO e nem COMPLETO

ele tem falhas como o nosso amigo falou está faltando System.out.println EU VI mas deixei o dono postar e ver que não estava jogando na TELA

ESSA É A MELHOR FORMA DE EXERCITAR um cara, ele tem o código mas tentar achar o erro, se eu falar tem que ter if e tem que ter uma variavel que armazene o valor e faça a condição NAO iria adiantar em nada eu postar isso o cara nem ia entender…

[]brs

M

Em primeiro lugar meu código não está PRONTO e nem COMPLETO

ele tem falhas como o nosso amigo falou está faltando System.out.println EU VI mas deixei o dono postar e ver que não estava jogando na TELA

ESSA É A MELHOR FORMA DE EXERCITAR um cara, ele tem o código mas tentar achar o erro, se eu falar tem que ter if e tem que ter uma variavel que armazene o valor e faça a condição NAO iria adiantar em nada eu postar isso o cara nem ia entender…

[]brs

Pelo amor… admita que errou o código. Não acha que eu vou cair nesse papo, né?

diegohsi

Rico não me interprete mal, mas é preciso estudar um pouco mais de algoritmo, pois esse problema quase não envolve API’s (conjunto de coisas pronta da linguagem que vc tem que aprender e algumas decorar), somente um pouco de lógica.

Até mais.

R

Não levarei à mal nenhuma crítica construtiva. Valeu.

Tiburcio_Mancha

Em primeiro lugar meu código não está PRONTO e nem COMPLETO

ele tem falhas como o nosso amigo falou está faltando System.out.println EU VI mas deixei o dono postar e ver que não estava jogando na TELA

ESSA É A MELHOR FORMA DE EXERCITAR um cara, ele tem o código mas tentar achar o erro, se eu falar tem que ter if e tem que ter uma variavel que armazene o valor e faça a condição NAO iria adiantar em nada eu postar isso o cara nem ia entender…

[]brs

Vc entregou toda a lógica para o cara, o que ele vai aprender descobrindo que só falta a saída???

AlissonSchneider

Acho perca de tempo discutir isso aqui, GUJ ESTÁ CHEIO DE TÓPICOS com códigos prontos OLHEM

Se for pra falar asneira

nem fale

AlissonSchneider

Em primeiro lugar meu código não está PRONTO e nem COMPLETO

ele tem falhas como o nosso amigo falou está faltando System.out.println EU VI mas deixei o dono postar e ver que não estava jogando na TELA

ESSA É A MELHOR FORMA DE EXERCITAR um cara, ele tem o código mas tentar achar o erro, se eu falar tem que ter if e tem que ter uma variavel que armazene o valor e faça a condição NAO iria adiantar em nada eu postar isso o cara nem ia entender…

[]brs

Pelo amor… admita que errou o código. Não acha que eu vou cair nesse papo, né?

Olhe se errei ou não ajudou o cara…

M

Estou postando apenas com o intuito de ajudar, esse código poderia ficar assim:

package Exercicios;
import javax.swing.JOptionPane;

public class ValorCompras {

public static void main(String[] args) {
	int x = 2000, a = 0, b = 1000, c = 1001, d = 3000;   

	double valordaCompra;   
    double desconto;   
    double result;   
	  
	valordaCompra = x;   
	 x = Integer.parseInt(JOptionPane.showInputDialog("Informe o valor da compra:"));
	
	if (x <= 1000)
		{   
			JOptionPane.showMessageDialog(null,"Valor da compra = R$ "+x);
		}else if(x > 1000 || x <= 3000){   
			desconto = x * (0.05);   
			result = x - desconto; 
			JOptionPane.showMessageDialog(null,"Valor da compra = R$ "+result);
		}else{   
			desconto = x * (0.1); 
			result = x - desconto;
			JOptionPane.showMessageDialog(null,"Valor da compra = R$ "+result); 
		}   
  
}

}

Abraços a todos…

Tiburcio_Mancha

AlissonSchneider:
Acho perca de tempo discutir isso aqui, GUJ ESTÁ CHEIO DE TÓPICOS com códigos prontos OLHEM

Se for pra falar asneira

nem fale

asneira???

vc deve ser mais algum desses caras q gostam de encher o score de mensagens só para mostrar q é o fodão, e pelo seu tempo de GUJ vc deve ser um puta programador experiente!!!

Babaca!!!

AlissonSchneider

asneira???

vc deve ser mais algum desses caras q gostam de encher o score de mensagens só para mostrar q é o fodão, e pelo seu tempo de GUJ vc deve ser um puta programador experiente!!!

Babaca!!!

SE O CHAPÉU SERVIU…

AlissonSchneider

Tiburcio_Mancha:
AlissonSchneider:
Acho perca de tempo discutir isso aqui, GUJ ESTÁ CHEIO DE TÓPICOS com códigos prontos OLHEM

Se for pra falar asneira

nem fale

asneira???

vc deve ser mais algum desses caras q gostam de encher o score de mensagens só para mostrar q é o fodão, e pelo seu tempo de GUJ vc deve ser um puta programador experiente!!!

Babaca!!!

Caro senhor TIBURCIO

Em primeiro lugar não lhe faltei com a educação… mas tenho as seguintes observações a dizer:

  1. VOCÊ NÃO ME CONHECE << a mais importante
  2. NÃO É PQ ESSA CONTA É NOVA QUE EU ESTOU NO GUJ A ESSE TEMPO
  3. EU AJUDEI…
  4. COMO DISSE NÃO FALTEI COM EDUCAÇÃO se ficou ofendido com a minha msg
  5. DEU DE DISCUTIR BESTEIRA NESSE TÓPICO TEM GENTE QUE TAH PRECISANDO DE AJUDA AQUI NO FÓRUM
  6. O SENHOR NÃO IRIA GOSTAR QUE EU TIRASSE PRECIPITAÇÕES SOBRE O SENHOR SEM CONHECER ENTÃO NÃO FAÇA O QUE NÃO QUERIA QUE FIZESSEM COM O SENHOR
  7. PEÇO DESCULPAS SE FICOU OFENDIDO… Mas acho que as vezes precisamos ajudar as pessoas nao somente mostrar o lógico e deixar que elas se virem…

É ISSO!

Tiburcio_Mancha

ah, alguém te faz uma crítica e vc diz que fala asneiras.Isso não é falta de respeito?

Realmente não te conheço, ainda bem!!!

AlissonSchneider

Critica construtiva diferente de chamar de BABACA…

Se ele vai aprender ou não vai de cada um de se dedicar pra entender ou não, eu fiz minha parte

R

Pessoal, pra que ficar discutindo quem sabe mais ou quem sabe menos, nada à ver isso. Bom, mas enfim, agradeço à todos que apareceram para ajudar, mas consegui fazer assim, vejam o que acham:

class ValorCompra{
public static void main(String[] args){
double a = 0.0, b = 1000.0, c = 1001.0, d = 3000.0, x = 2000.0; // x para diferenciar dos demais.
if(x > a && x<= b){
System.out.println("Valor sem desconto: " +x);
}else
  if(x > b && x <= d){
x = x * 0.05;
System.out.println("Valor tera 5% de desconto: " +x);
}else
 if(x > d){
x = x * 0.1;
System.out.println("Valor tera 10% de desconto: " +x);
}
}
}
ganondorfan

Acho que uma abordagem mais interessante para este exercício seria desenvolver um método de compra, em vez de entrar de cara no exercício.

um exemplo seria :

public static double comprar(double valorCompra);

// retono = valor a pagar
//valorCompra =  o valor da compra

Pra facilitar que o colega esta começando, utilizei um metodo estático.
Acredito que esse tipo de abordagem, é muito mais construtivo para quem está começando, pois a pessoa leva a ideia de encapsulamento, ou seja, o problema é o que reside na caixa preta, e não no amontoado de códigos.

Eu não queria tocar no assunto, tudo vem que as vezes salva o dia quando algum colega posta algo pronto, eu mesmo já me beneficiei muito com isso aqui, mas no nível que o criador do tópico se encontra, talvez essa ajuda prejudique mais do que ajude, poderíamos ir dando dicas de Post em Post, até formar o raciocínio do cidadão.

[]'s

Tiburcio_Mancha

Alisson, me desculpe pelo babaca, mas ainda não concordo com sua abordagem de entregar códigos prontos, pois é por isso que está cheio de cara ruim no mercado!!!

Rico, se eu fosse vc me estaria mais preocupado em aprender Java e resolver este problema ridículo de simples, do que ficar dando pitaco,pois ng aqui discutiu quem sabe mais ou menos!!!

adriano_si

Tiburcio_Mancha:
Alisson, me desculpe pelo babaca, mas ainda não concordo com sua abordagem de entregar códigos prontos, pois é por isso que está cheio de cara ruim no mercado!!!

Rico, se eu fosse vc me estaria mais preocupado em aprender Java e resolver este problema ridículo de simples, do que ficar dando pitaco,pois ng aqui discutiu quem sabe mais ou menos!!!

Galera… sempre fui um dos mais chatos quanto a essa história de mandar código pronto… O que vou colocar a seguir, não é pra ninguém chorar, se matar ou muito menos gerar flame… Mas concordo com o Tiburcio…

1 - Fazer o exercício, mesmo que todo errado e sem atender a nada do que foi pedido é a melhor forma;

2 - Entregar código pronto, qualquer o nível que seja, é uma bosta e não ajuda em nada, você está resolvendo, o que fará com que o cérebro do nosso amigo não se acostume a aprender pesquisando, tentando, errando, etc…;

3 - Esse papinho de “se não quer ajudar então nem entre aqui” já deu, tanto de quem ajuda quanto de quem está sendo ajudado, se querem resolver as coisas assim, saiam do fórum, peguem o Talk um do outro e conversem por mensageiros da vida;

4 - Leiam: http://www.istf.com.br/perguntas/ … mas leiam mesmo e por favor, aprendam pelo menos metade desse ensinamento…

Digo isso com autoridade e realmente pra ajudar, porque eu já fui um dia os 2 babacas, o que pediu ajuda e o que ajudou… Mudei meu perfil quando me toquei que não estava indo a lugar algum…

Abs [] e bons estudos…

Tiburcio_Mancha

Então, um profissional que não pensa e não sabe pesquisar, e que ganha tudo na mão é um profisional ruim!

é íncrivel o número de profissionais que as universidades soltam no mercado todo ano que não tem condições de pleitar nem vaga de estagiário, pois não sabem,por exemplo, lógica de programação e muito menos não correm atrás, não estudam,não pesquisam…não sabem usar o Google, o que é um absurdo!

Ano passado trabalhei com uma menina que não sabia absolutamente nada, mentiu na entrevista da minha empresa (lógico que o gerente que fez a contratação foi um vacilão!) e como ela não tinha condições de trabalhar, ficava o dia inteiro no Skype e no MSN com o noivo, que era programador, onde ele fazia tudo e enviava para ela. Até que descobriram, ae vcs imaginam o que deu!Isso durou 6 meses e mesmo ela sabendo das limitações, nunca correu atras para melhorar, só dava preferência em pegar tudo pronto com futuro marido!!!

Virou rotina entrar no guj e ter post onde o autor pede que alguém faça o código para ele ou que alguém responda com código pronto!

adriano_si

Cara… eu fui + ou - assim…

Até hoje eu me arrependo de não ter entrado no mercado como estagiário, trbalhando de graça, etc…

Eu me formei com toda a base teórica, o menos ruim é que eu sempre tive a lógica de Programação afiada, mas pra aprender boas práticas e OO foi um sufoco… Logo, quando eu aterrisei no Java, conheci o Portal Java e logo depois o GUJ… Cara eu pensava que eu era bom… foi quando eu percebí que era um tronxo e que a Facul não tinha me preparado para o mercado e sim só me dado a base…

Até então era o meu problema, eu pensava que com o diploma tudo seria mais fácil.

Aí já imaginas né?? Quando comecei a pegar as porradas, queria “ajuda” com código pronto, afinal começou a bater o desespero. Depois de ler esse artigo das perguntas inteligentes, comecei a encarar as coisas com outros olhos. Se fazer de coitadinho dizendo “que não sabia e que aqui era lugar pra aprender”, saiu de meu vocabulário. Comecei a correr atrás. Foi aí que fui para o outro lado da moeda, por saber um pouco, sempre que via um “EU NO PASSADO” por aqui, enchia o cara com código pronto.

Precisei ler pela segunda vez e aí sim entendí, que os 2 lados são errados… Aprendi muito com isso e mais ainda aqui no GUJ, redobrei minha atenção, escrevo e leio com mais calma, procuro fazer código o mais limpo possível, procuro ajudar quando vale a pena e acompanho os Gurus daqui de perto, pelos blogs dos mesmos e pelos POSTs que muitas vezes nem respondo.

Enfim, não tenho vergonha de reconhecer o que fui, e tenho orgulho de me ver hoje, menos de 2 anos depois.

Por isso que quando dou esses conselhos, é com autoridade, um dia eu peguei a mesma bofetada pra poder aprender.

Abs []

Criado 20 de janeiro de 2011
Ultima resposta 24 de jan. de 2011
Respostas 29
Participantes 9