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 !!!
Dúvida sobre um método set
4 Respostas
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!
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
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 ! 
que isso cara, e um prazer ajudar!
Claro, nos seus livros, aqui no fórum o que não falta são programas! 
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.