E outro que não sei como chama-lo, mas é preciso fazer 2 separados né… o segundo seria o “UsaProduto”…
[code]class UsaProduto
{
public static void main (String [] args)
{
double valor;
int qnt;
Produto p = new Produto ();
System.out.println("Valor" + p.asValor);
System.out.println("Quantidade" + p.asqnt);
System.out.println("Percentual" + p.percentual);
System.out.println("Aumento" + p.aumento);
}
}
[/code]
Estou com problema neste segundo (UsaProduto) não sei corretamente como faze-lo ou o que esta faltando no meu…
Se alguem puder me ajudar e falar onde está o erro ou o que tem que fazer…
E como se chama o primeiro código que tenho que fazer e o segundo (Produto e UsaProduto) rs… Brigada desde já
public static void main(String[] args) {
Produto produto = new Produto();
produto.asValor(2.6); // atribuindo um valor ao produto
produto.asqnt(5); // atribuindo um quantidade de produto
System.out.print(produto.aumento());
System.out.print(produto.percentual());
public static void main(String[] args) {
Produto produto = new Produto();
produto.asValor(2.6); // atribuindo um valor ao produto
produto.asqnt(5); // atribuindo um quantidade de produto
System.out.print(produto.aumento());
System.out.print(produto.percentual());
}
[code]class UsaProduto
{
public static void main (String [] args)
{
double valor;
int qnt;
Produto p = new Produto ();
System.out.println("Valor" + p.asValor());
p.asValor(2.6); // atribuindo um valor ao produto
System.out.println("Quantidade" + p.asqnt());
p.asqnt(5); // atribuindo um quantidade de produto
System.out.println("Percentual" + p.percentual());
System.out.println("Aumento" + p.aumento());
}
Melhore o nome dos seus métodos! No java, o padrão que usamos para definir um valor é prefixar o método com set. E para pegar um valor, com get. Além disso, dificilmente usamos abreviaturas, a menos que elas sejam amplamente conhecidas.
Outra coisinha, atributos devem ser sempre declarados como private (exceto em raríssimos casos em que serão protected), métodos visíveis fora da classe como public.
Por exemplo, tua classe ficaria assim:
[code]
class Produto{
private double valor;
private int quantidade;
public double getPercentual() {
if(valor<=10)
return 5;
Vc não declarou nenhum método com a lista de argumentos vazia.A classe Produto só aceita chamadas desses dois (por enquanto) como void -> int e void -> double
Lilian , o matodo void asValor(double pvalor) não retorna nenhum valor, e voce tem que passar um argumento do tipo double para ele, logo a linha abaixo esta incorreta entao a retire do seu codigo:
System.out.println("Valor" + p.asValor());
o mesmo ocorre para o metodo void asqnt(int pqnt), so que ele espera um argumento do tipo int, entao retire tb a linha :
E o código para usa-la ficaria assim (note que ficou mais legível):
[code]
class UsaProduto {
public static void main (String [] args) {
double valor;
int qnt;
Produto p = new Produto ();
System.out.println("Valor" + p.getValor());
p.setValor(2.6); // atribuindo um valor ao produto
System.out.println("Quantidade" + p.getQuantidade());
p.setQuantidade(5); // atribuindo um quantidade de produto
System.out.println("Percentual" + p.getPercentual());
System.out.println("Aumento" + p.getAumento());
}
}[/code]
Essa convenção de código é amplamente usada na comunidade Java e seria muito bom que você já fizesse certinho desde o início.
Uma dica, para que você consiga fazer bem esses exercícios é importante pesquisar em livros, apostilas ou materiais disponíveis na net, primeiro os conceitos básicos da linguagem, sua sintaxe, orientação a objetos, etc, porque senão todos os exercícios que surgirem você terá muitas dúvidas.
Veja as modificações que fiz no seu código veja se entende:
Classe Produto:
class Produto{
double valor;
int qnt;
/*inseri identificador publico em todos os métodos para que a classe UsaProduto possa acessá-los*/
public double percentual()
{
double r=0;
if(valor<=10)
{
r=5;
}
if((valor>10)&&(valor<=100))
{
r=10;
}
if(valor>100)
{
r=20;
}
return r;
}
public int qnt()
{
return qnt;
}
/* para os métodos que você passa valores como parâmetros, inseri um tipo de retorno de acordo com o tipo passado nos parâmetros para que
você consiga trabalhar com os valores através da classe UsaProduto, consequentemente inseri também um retorno para o método*/
public double asValor(double pvalor)
{
valor=pvalor;
return valor;
}
/* para os métodos que você passa valores como parâmetros, inseri um tipo de retorno de acordo com o tipo passado nos parâmetros para que
você consiga trabalhar com os valores através da classe UsaProduto,
consequentemente inseri também um retorno para o método*/
public int asqnt(int pqnt)
{
qnt=pqnt;
return qnt;
}
public double aumento()
{
if(valor<=500)
{
return 50;
}
else
{
return 60;
}
}
}
Classe UsaProduto
class UsaProduto
{
public static void main (String [] args)
{
/*Retirei as variáveis de instância pois não tinha necessidade de repetir aqui*/
Produto p = new Produto ();
/*Atribui valores para os métodos que pediam parametros, e para os demais é necessário a escrita do métodos como ele é, mesmo que tenha que colocar paranteses vazios*/
System.out.println("Valor" + p.asValor(2.0));
System.out.println("Quantidade" + p.asqnt(3)); System.out.println("Percentual" + p.percentual());
System.out.println("Aumento" + p.aumento());
}
}