Dúvida sobre um método set

4 respostas
EuclidesFilizola

E ai pessoal do GUJ, tudo beleza? Estou aqui, pq sou novato, em Java, e estou em dúvida em 2 métodos.O programinha que eu tava tentando fazer era o seguinte: vc digita a quantidade de clientes, o nome de cada um deles, e o produto que ele está levando.Ah, e quanto ele ta levando de cada produto.A saída do programa seria, o nome do cliente, oq ele ta levando e quantos kgs ele ta levando daquele produto. O problema é que o método setPreco() e o método setProduto() não funcionam da forma que eu quero.O metodo setPreco(String a, double b), se eu colocar para que seja digitado o valor de a e b, usando um " sc.next()" , ele não funciona, agora se eu usar já jogando o valor setPreco(“banana”,2.5), ele funciona! Gostaria ai que alguem me ajudasse! Agradeço antecipadamente !!!

4 Respostas

L

Existem várias formas de você resolver este problema, uma delas seria
você criar uma classe PRODUTO com os atributos String descrição e Int quantidade, entendeu Então quando vc criasse um objeto do tipo produto vc ja setaria o tipo e aquantidade!

Marck

Iai cara...

fiz essa alteração na classe mercearia:

import java.util.Scanner;

public class Mercearia {
	
	public static void main(String args[] ){
		
		Scanner sc = new Scanner(System.in);
		Produtos p1 = new Produtos();
		
		System.out.println("Qtde Cliente");
		int qnt_de_cli = sc.nextInt();
		
		String cli[] = new String[qnt_de_cli];
		
		String a="";
		double b=0;
		
		for (int i = 0; i<cli.length;i++){
			
                        //Usa o System e ja guarda na variavel
			System.out.println("Digite o nome do "+(i+1)+"º cliente");
			String client = sc.next();
			
			System.out.println("Digite o produto");
			a = sc.next();
			
			System.out.println("Preco");
			b = sc.nextDouble();
			
			cli[i] = client;
			Cliente clientee = new Cliente();
			clientee.nomeDoCliente = client;
		System.out.println((i+1)+"º cliente = " + cli[i]);	
		}
				
		p1.setProduto(a);
		p1.setPreco(a,b);
		
		
	}
	

}

e aqui, na classe Produto:

public void setProduto(String a){
		 System.out.println("produto ="+a);
		 
		 if (a.equalsIgnoreCase("maça")) {
			 System.out.println("preço = 1,5 R$/Kg" );
		 }
		 
		 if (a.equalsIgnoreCase("banana")) {
			 System.out.println("preço = 2,49 R$/Kg" );
		 }
		 
		 if (a.equalsIgnoreCase("pera")) {
			 System.out.println("preço = 2,65 R$/Kg");
		 }
	 }
	
	public void setPreco(String a,double b) {
		
		
		if (a.equalsIgnoreCase("maça")) {

			precoDoProduto = b*1.5;
			System.out.println("preço a pagar é :"+precoDoProduto);
			
		}	
		
		if (a.equalsIgnoreCase("banana")){
			precoDoProduto = b*2.49;
			System.out.println("preço a pagar é :"+precoDoProduto);
		}
		if (a.equalsIgnoreCase("pera")) {
			precoDoProduto = b*2.65;
			System.out.println("preço a pagar é :"+precoDoProduto);
		}
		
	}

Compare Strings assim:

a.equalsIgnoreCase("maça")

com o equals...o IgnoreCase não verifica se é minuscula ou maiscula.

Marck

EuclidesFilizola

aew Marck ! … valeu irmão … to devendo essa… =) …

não conhecia ainda o ‘equals’ … =) … tipo, eu tenho o livro “Use a cabeça! Java” . .e o deitel … e to com o do Rafael Santos … dos 3 . oq eu acho mais interessante para iniciante … é do da Kate … que é o use a cabeça… agora vc saberia me dizer onde pego uma vasta variedades de exemplos de programas?? … agradeço antecipadamente ! :smiley:

Marck

:smiley: que isso cara, e um prazer ajudar!

Claro, nos seus livros, aqui no fórum o que não falta são programas! :wink:

Qd comecei a aprender java, resolvi fazer um sisteminha de controle de funcionários, e foi uma boa pq deu noção do poder do Java. E vai inventando umas doideras ai que vc aprende.

Criado 31 de maio de 2007
Ultima resposta 31 de mai. de 2007
Respostas 4
Participantes 3