Tenho uma classe chamada computadores e nela um método com retorno chamado alterarValor que retorna um double
public int alteraValor(double valor)
{
if (valor < 0)
{
this.preco = valor;
return 1;
}else {
return 0;
}
}
Eu preciso do resultado do retorno para exibir uma mensagem na classe Principal exemplo:
Se retorno = 1, exibir mensagem “Valor alterado”
Se retorno = 0, exibir mensagem “Valor não alterado”
como faço para exibir tais mensagens na classe principal???
Obrigado desde já!!!
jeffev
Agosto 23, 2012, 10:42am
#2
Seu método alteraValor está retornando um inteiro não um double.
Mas vamos a solução:
if (computadores.alteraValor(valor)==0){
//faz algo se o retorno for 0 (zero)
} else
//faz algo se o retorno for diferente de 0 (zero)
OBS: o melhor seria utilizar uma variável booleana no lugar de 0 ou 1.
Recomendo que use um boolean como retorno do seu método.
Ficaria mais ou menos assim:
public boolean alteraValor(double valor)
{
if (valor < 0) {
this.preco = valor;
return true;
}else {
return false;
}
}
e no seu método main, basta apenas verificar, assim:
public static void main(String[] args) {
if(computadores.alteraValor(10)){
System.out.println("Valor alterado!");
}else{
System.out.println("Valor não alterado!");
}
}
Vc poderia levantar exceções ou até mesmo imprimir diretamente no método alterarValor. Mas isso depende do que vc realmente quer.
OBS: Seu preço recebe apenas valores negativos? (valor<0)
[quote=thiago_pco@hotmail.com]Recomendo que use um boolean como retorno do seu método.
Ficaria mais ou menos assim:
public boolean alteraValor(double valor)
{
if (valor < 0) {
this.preco = valor;
return true;
}else {
return false;
}
}
e no seu método main, basta apenas verificar, assim:
public static void main(String[] args) {
if(computadores.alteraValor(10)){
System.out.println("Valor alterado!");
}else{
System.out.println("Valor não alterado!");
}
}
Vc poderia levantar exceções ou até mesmo imprimir diretamente no método alterarValor. Mas isso depende do que vc realmente quer.
OBS: Seu preço recebe apenas valores negativos? (valor<0)[/quote]
Seria mais facil se ficasse:
public boolean alteraValor(double valor)
{
return valor < 0;
}
jeffev
Agosto 23, 2012, 11:17am
#5
[quote=Sem_Nome][quote=thiago_pco@hotmail.com]Recomendo que use um boolean como retorno do seu método.
Ficaria mais ou menos assim:
public boolean alteraValor(double valor)
{
if (valor < 0) {
this.preco = valor;
return true;
}else {
return false;
}
}
e no seu método main, basta apenas verificar, assim:
public static void main(String[] args) {
if(computadores.alteraValor(10)){
System.out.println("Valor alterado!");
}else{
System.out.println("Valor não alterado!");
}
}
Vc poderia levantar exceções ou até mesmo imprimir diretamente no método alterarValor. Mas isso depende do que vc realmente quer.
OBS: Seu preço recebe apenas valores negativos? (valor<0)[/quote]
Seria mais facil se ficasse:
public boolean alteraValor(double valor)
{
return valor < 0;
}
[/quote]
Concordo!
Ae galera obrigado ae pelo apoio
sabem onde eu estava errando?
declaração de valor em Main
private static double valor;
Abraço à todos!!!
[quote=jeffev][quote=Sem_Nome][quote=thiago_pco@hotmail.com]Recomendo que use um boolean como retorno do seu método.
Ficaria mais ou menos assim:
public boolean alteraValor(double valor)
{
if (valor < 0) {
this.preco = valor;
return true;
}else {
return false;
}
}
e no seu método main, basta apenas verificar, assim:
public static void main(String[] args) {
if(computadores.alteraValor(10)){
System.out.println("Valor alterado!");
}else{
System.out.println("Valor não alterado!");
}
}
Vc poderia levantar exceções ou até mesmo imprimir diretamente no método alterarValor. Mas isso depende do que vc realmente quer.
OBS: Seu preço recebe apenas valores negativos? (valor<0)[/quote]
Seria mais facil se ficasse:
public boolean alteraValor(double valor)
{
return valor < 0;
}
[/quote]
Concordo![/quote]
Como disse o thiago_pco@hotmail.com , acredito que o melhor seria levantar uma exceção. Se você utilizar o método alterarValor() retornando um boolean vai ter que lembrar de testá-lo a todo momento. Levantando uma exceção isso não se faz necessário.
public void alteraValor(double valor)
{
if (valor < 0)
throw new IllegalArgumentException();
else
this.valor = valor;
}
Acredito que seja isso.
[quote=Sem_Nome][quote=thiago_pco@hotmail.com]Recomendo que use um boolean como retorno do seu método.
Ficaria mais ou menos assim:
public boolean alteraValor(double valor)
{
if (valor < 0) {
this.preco = valor;
return true;
}else {
return false;
}
}
e no seu método main, basta apenas verificar, assim:
public static void main(String[] args) {
if(computadores.alteraValor(10)){
System.out.println("Valor alterado!");
}else{
System.out.println("Valor não alterado!");
}
}
Vc poderia levantar exceções ou até mesmo imprimir diretamente no método alterarValor. Mas isso depende do que vc realmente quer.
OBS: Seu preço recebe apenas valores negativos? (valor<0)[/quote]
Seria mais facil se ficasse:
public boolean alteraValor(double valor)
{
return valor < 0;
}
[/quote]
E quanto ao this.preco = valor; ???
[quote=thiago_pco@hotmail.com][quote=Sem_Nome][quote=thiago_pco@hotmail.com]Recomendo que use um boolean como retorno do seu método.
Ficaria mais ou menos assim:
public boolean alteraValor(double valor)
{
if (valor < 0) {
this.preco = valor;
return true;
}else {
return false;
}
}
e no seu método main, basta apenas verificar, assim:
public static void main(String[] args) {
if(computadores.alteraValor(10)){
System.out.println("Valor alterado!");
}else{
System.out.println("Valor não alterado!");
}
}
Vc poderia levantar exceções ou até mesmo imprimir diretamente no método alterarValor. Mas isso depende do que vc realmente quer.
OBS: Seu preço recebe apenas valores negativos? (valor<0)[/quote]
Seria mais facil se ficasse:
public boolean alteraValor(double valor)
{
return valor < 0;
}
[/quote]
E quanto ao this.preco = valor; ???[/quote]
Não havia visto aquela parte.
Então eu pensei nisso:
public boolean alteraValor(double valor) {
preco = valor < 0 ? valor : 0;
return preco == valor;
}
mas o preço ser = 0 pode não ser algo que ele queira. Então acho que lançar uma exception seja melhor.