Amigos, estou fazendo o seguinte, instancio com scanner algumas classes que…
Pego simplificando o preco de um produto multiplicando a quantidade…apartir dai tenho o valor parcial da nota.
Com o ValorParcial tenho de calcular o ValorComImposto onde devo especificar que se for 1 pego a % do icmsRS se for 2 pego a % de icmsSC, e multiplico a exemplo se for 1 o valorParcial x 17 /100 = xxx
-
Só que nao estou conseguindo instanciar a classe dos estados IcmsRS ou IcmsSC com os valores de cada estado tipo se for 1 = RS tenho de pegar o valor 17 e calcular dentro.
-
nao consigo mostrar direito o estado escolhido e o valor total com o imposto deduzido.
segue as classes
[code]public class NotaFiscal {
public static void main(String args[]) {
// Creating new invoice without using the constructor
ItemNota items = new ItemNota("", "", 0, 0.0,0);
items.setCodProduto();
items.setDescricao();
items.setQuantidade();
items.setPreco();
items.setUf();
items.getValorParcial();
items.getValorComIposto();
items.getMostraTela();
}
}[/code]
[code]import java.util.Scanner;
public class ItemNota {
Scanner input = new Scanner(System.in);
private String codigo;
private String descricao;
private int quant;
private double preco;
private int Uf;
public ItemNota(String cod, String desc, int quant, double pric, int uf_imp)
{
this.codigo = cod;
this.descricao = desc;
this.quant = quant;
this.preco = pric;
this.Uf = uf_imp;
}
public void setCodProduto ()
{
System.out.printf("Qual o codigo do produto: ");
String cod = input.nextLine();
System.out.println();
this.codigo = cod;
}
public void setDescricao()
{
System.out.printf("Descrição do produto: ");
String desc = input.nextLine();
System.out.println();
this.descricao = desc;
}
public void setQuantidade ()
{
System.out.printf("Qual a quantidade: ");
int quant = input.nextInt();
System.out.println();
if (quant < 0)
{
this.quant = 0;
}
else
{
this.quant = quant;
}
}
public void setPreco ()
{
System.out.printf("Qual o preco do produto: ");
double prec = input.nextDouble();
System.out.println();
if (prec < 0)
{
this.preco = 0.0;
}
else
{
this.preco = prec;
}
}
public String getCodProduto ()
{
return this.codigo;
}
public String getDescricao ()
{
return this.descricao;
}
public int getQuantidade ()
{
return this.quant;
}
public double getPreco ()
{
return this.preco;
}
public double getValorParcial()
{
double valor;
valor = this.preco * (double) this.quant;
if (valor < 0)
{
return 0.0;
}
else
{
return valor;
}
}
public int getUf() {
return Uf;
}
public void setUf() {
System.out.printf("Qual o Estado para o imposto 1- RS ou 2-SC: ");
int uf_imp = input.nextInt();
System.out.println();
this.Uf = uf_imp;
}
public double getValorComIposto(){
double valor = getValorParcial();
int estado = getUf();
IcmsRS rs = new IcmsRS();
int icmsRS = rs.getImpostoRS();
IcmsSC sc = new IcmsSC();
int icmsSC = sc.getImpostoSC();
if (estado ==1)
{
//IcmsRS rs = new IcmsRS();
//int icms = rs.getImpostoRS();
valor = valor * icmsRS;
return valor;
}
else
{
//IcmsSC sc = new IcmsSC();
valor = valor * icmsSC;
return valor;
}
}
public void getMostraTela()
{
System.out.printf("Historico\n%s - %s\n%d X %.2f = %.2f\n\n%s\n", getCodProduto(),
getDescricao(), getQuantidade(), getPreco(),getValorParcial(),getUf());
//aqui quando vou amostrar o GetUf..esta dando problema..nao consigo mostrar o estado e o valor com o imposto calculado
}
}
[/code]
[code]public class IcmsRS {
int impostoRS;
public int getImpostoRS() {
return impostoRS = 17;
}
public void setImpostoRS(int impostoRS) {
this.impostoRS = impostoRS;
}
}
[/code]
[code]public class IcmsSC {
int impostoSC;
public int getImpostoSC() {
return impostoSC = 12;
}
public void setImpostoSC(int impostoSC) {
this.impostoSC = impostoSC;
}
}
[/code]
