Porque não cria um objeto com os campos necessários, instancia o mesmo no seu método, preenche os respectivos campos e retorna esse objeto?
Dessa forma teria todos os valores necessários e poderia manipular como quisesse.
Desculpa eu acho que realmente eu fui muito vago na minha pergunta.
Mas o que queria era talvez reduzir o tamanho do código, retornando mais de um valor no mesmo método, pois achava que tinha algum jeito.
Consegui copilar o código que queria , ele acabou ficando meio grande, mas acho que não tem outro jeito. (??)
Vê o que vocês acham ? … acrescente sugestões !! (Obrigado)
import javax.swing.JOptionPane;
public class ValorCarro {
int valor;
double valorFinal;
int ano;
boolean sair;
double desconto;
int totAte2000;
int totMais2000;
public void setinfo() {
valor = Integer.parseInt(JOptionPane
.showInputDialog("Digite o valor do carro"));
ano = Integer.parseInt(JOptionPane
.showInputDialog("Digite o ano do carro"));
}
public int getValor() {
return valor;
}
public int getAno() {
return ano;
}
public void Calculo() {
if (ano <= 2000) {
desconto = valor * 0.12;
totAte2000 += 1;
} else {
desconto = valor * 0.07;
totMais2000 += 1;
}
valorFinal = valor - desconto;
}
public double getDesconto() {
return desconto;
}
public double getValorFinal() {
return valorFinal;
}
public int getTotAte2000() {
return totAte2000;
}
public int getTotMais2000() {
return totMais2000;
}
public void imprimir1() {
JOptionPane.showMessageDialog(null,
"O valor final do carro com desconto é de \n" + "R$ "
+ valorFinal);
}
public void setSair() {
int y = 0;
y = Integer
.parseInt(JOptionPane
.showInputDialog("Você deseja continuar a usar o programa ?" + "\n"
+ "Digite (1)- Sim , (2)- Nao"));
switch (y) {
case 1:
sair = true;
break;
case 2:
sair = false;
break;
}
}
public boolean getSair() {
return sair;
}
public static void main(String[] args) {
ValorCarro a1 = new ValorCarro();
do {
a1.setinfo();
a1.getValor();
a1.getAno();
a1.Calculo();
a1.getDesconto();
a1.getValorFinal();
a1.getTotAte2000();
a1.getTotMais2000();
a1.imprimir1();
a1.setSair();
a1.getSair();
} while (a1.sair == true);
JOptionPane.showMessageDialog(null, "Foram calculados " + "\n"
+ a1.totAte2000 + " carros com ano até 2000 " + "e" + "\n"
+ a1.totMais2000 + " carros com ano maior de 2000 ");
}
}
dava pra dar uma refinada né, principalmente uns “gets” que não são salvos em variável alguma aí, tão desperdiçando linhas e processamento
tenta pensar melhor linha a linha o que seu programa tá fazendo, mas tá indo no caminho certo n.n
Acho que vc pode Descrever uma classe que tenha esses atributos que vc quer retornar, nesse caso olhe para o seu dominio e veja o que faz mais sentido. Criar uma classe “por criar” pq vc fez “um metodo” nem sempre é uma boa escolha.
Por exemplo vc tem uma classe que sabe calcular desconto/valores E perguntar algo para o usuario usando swing. Eu pensaria em separar esses caras em algum momento.