O que eu fiz de errado??
Resumindo, tenho trës classes, NotaFiscal, Produto e ItemNota .
NotaFiscal tem os atributos : CodigoNf, Uf, Data.
Produto tem: codigo, descricao e preco
ItemNota tem a quant
Existem outras 03 classes que são ICMS por estado
Num scanner queria inserir CodNf, qual o estado : se for 1 é RS se for 2 é SC.Para RS são 17% e SC 12%, tambem mencionar codigo produto, descricao e preco, e a quantidade do produto inserido
Pois bem depois precisaria pegar estes valores e printar na tela assim
num NF:… 234987
data :… 12/05/2013
UF …RS = 1
produto …Pacote de Feijão
preço…1.50
quant…10
valorParcial = preco x quant
valorImposto = valorparcial x 17% , onde foi dito que o estado é RS e sobre o valor parcial da nota calculo 17 %
Travei na hora de inserir no scanner com list e mostrar pegando esses atributos das classes no scanner.
CLASSE NOTA FISCAL
package edu.qi.com.br;
import java.io.ObjectInputStream.GetField;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Scanner;
public abstract class NotaFiscal {
private static int codigo;
private static Object adicionarItem;
private Date data;
private String uf;
public static void main(String[] args) {
// tentei instanciar Produto e não sei se esta certo ..mas nao deu, nao entendi como
Scanner s = new Scanner(System.in);
System.out.println("Digite código do produto: ");
codigo = s.nextInt();
System.out.println("Digite a descrição do produto: ");
descricao = s.next();
System.out.println("Digite o preço do produto: ");
preco = s.nextFloat();
System.out.println("Digite o quantidade de produtos: ");
quant = s.nextInt();
// codigo, descricao, preco
Produto prod = new Produto(codigo, descricao, preco);
// Produto, qtd
adicionarItem(prod, quant);
for (ItemNota it : items) {
System.out.println("Produto: " + it.getDescricao());
System.out.println("Preco: " + prod.getPreco());
System.out.println("Quantidade: " + it.getQuant());
System.out.println("Valor parcial: " +prod.getPreco()*it.getQuant());
}
}
private static List<ItemNota> items;
public int getCodigo() {
return codigo;
}
public void setCodigo(int codigo) {
this.codigo = codigo;
}
public Date getData() {
return data;
}
public void setData(Date data) {
this.data = data;
}
public String getUf() {
return uf;
}
public void setUf(String uf) {
this.uf = uf;
}
public List<ItemNota> getItems() {
return items;
}
public static void adicionarItem(Produto prod, int qtd) {
ItemNota it = new ItemNota();
it.setProduto(prod);
it.setQuant(qtd); // double valorParcial=
//it.setProduto(prod)*it.setQuant(qtd); //adiciona item na lista de itens
items.add(it);
}
public void calcularTotal() {
// return
}
public void calcularTotalSemipostos() {
// return
}
public NotaFiscal(Date data, String uf) {
super();
this.data = data;
this.uf = uf;
this.items = new ArrayList<ItemNota>();
}
}
CLASSE ITEM NOTA
public class ItemNota {
private Produto produto ;
private int quant;
public Produto getProduto() {
return produto;
}
public void setProduto(Produto produto) {
this.produto = produto;
}
public int getQuant() {
return quant;
}
public void setQuant(int quant) {
this.quant = quant;
}
public float getValorParcial () {
return quant * produto.getPreco();
}
public String getDescricao() {
// TODO Auto-generated method stub
return null;
}
}
CLASSE PRODUTO
public class Produto {
int codigo;
String descricao;
float preco;
public Produto(int codigo, String descricao, float preco) {
super();
this.codigo = codigo;
this.descricao = descricao;
this.preco = preco;
}
public Produto(String preco2, String codigo2) {
// TODO Auto-generated constructor stub
}
public int getCodigo() {
return codigo;
}
public void setCodigo(int codigo) {
this.codigo = codigo;
}
public String getDescricao() {
return descricao;
}
public void setDescricao(String descricao) {
this.descricao = descricao;
}
public float getPreco() {
return preco;
}
public void setPreco(float preco) {
this.preco = preco;
}
@Override
public String toString() {
return "Produto [codigo=" + codigo + ", descricao=" + descricao
+ ", preco=" + preco + "]";
}
@Override
public int hashCode() {
final int prime = 31;
int result = 1;
result = prime * result + codigo;
return result;
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (getClass() != obj.getClass())
return false;
Produto other = (Produto) obj;
if (codigo != other.codigo)
return false;
return true;
}
public String getQuantidade() {
// TODO Auto-generated method stub
return null;
}
public String getValorParcial() {
// TODO Auto-generated method stub
return null;
}
}
ICMS DO UF RS
public class CalculoICMSRS {
int icms = 17;
public int getIcms() {
return icms;
}
public void setIcms(int icms) {
this.icms = icms;
}
}
ICMS DO UF SC
public class CalculoICMSSC {
int icms = 12;
public int getIcms() {
return icms;
}
public void setIcms(int icms) {
this.icms = icms;
}
}