Buscar

Projeto de Orientação a objetos - sacola de compras

Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original

V6_POO_SacolaCompras/build.xml
 
 Builds, tests, and runs the project V6_POO_SacolaCompras.
 
 
V6_POO_SacolaCompras/manifest.mf
Manifest-Version: 1.0
X-COMMENT: Main-Class will be added automatically by build
V6_POO_SacolaCompras/nbproject/build-impl.xml
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 Must set src.dir
 Must set test.src.dir
 Must set build.dir
 Must set dist.dir
 Must set build.classes.dir
 Must set dist.javadoc.dir
 Must set build.test.classes.dir
 Must set build.test.results.dir
 Must set build.classes.excludes
 Must set dist.jar
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 Must set javac.includes
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 No tests executed.
Must set JVM to use for profiling in profiler.info.jvm
 Must set profiler agent JVM arguments in profiler.info.jvmargs.agent
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 Must select some files in the IDE or set javac.includes
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 To run this application from the command line without Ant, try:
 
 java -jar "${dist.jar.resolved}"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 Must select one file in the IDE or set run.class
 
 
 
 Must select one file in the IDE or set run.class
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 Must select one file in the IDE or set debug.class
 
 
 
 
 Must select one file in the IDE or set debug.class
 
 
 
 
 Must set fix.includes
 
 
 
 
 
 
 
 
 
 This target only works when run from inside the NetBeans IDE.
 
 
 
 
 
 
 
 
 Must select one file in the IDE or set profile.class
 This target only works when run from inside the NetBeans IDE.
 
 
 
 
 
 
 
 
 This target only works when run from inside the NetBeans IDE.
 
 
 
 
 
 
 
 
 
 
 
 
 This target only works when run from inside the NetBeans IDE.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 Must select one file in the IDE or set run.class
 
 
 
 
 
 Must select some files in the IDE or set test.includes
 
 
 
 
 Must select one file in the IDE or set run.class
 
 
 
 
 Must select one file in the IDE or set applet.url
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 Must select some files in the IDE or set javac.includes
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 Some tests failed; see details above.
 
 
 
 
 
 
 
 
 Must select some files in the IDE or set test.includes
 
 
 
 Some tests failed; see details above.
 
 
 
 Must select some files in the IDE or set test.class
 Must select some method in the IDE or set test.method
 
 
 
 Some tests failed; see details above.
 
 
 
 
 Must select one file in the IDE or set test.class
 
 
 
 Must select one
file in the IDE or set test.class
 Must select some method in the IDE or set test.method
 
 
 
 
 
 
 
 
 
 
 
 
 
 Must select one file in the IDE or set applet.url
 
 
 
 
 
 
 
 
 Must select one file in the IDE or set applet.url
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
V6_POO_SacolaCompras/nbproject/genfiles.properties
build.xml.data.CRC32=3cd0c62c
build.xml.script.CRC32=8e7a1822
build.xml.stylesheet.CRC32=8064a381@1.75.2.48
# This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml.
# Do not edit this file. You may delete it but then the IDE will never regenerate such files for you.
nbproject/build-impl.xml.data.CRC32=3cd0c62c
nbproject/build-impl.xml.script.CRC32=4990a6df
nbproject/build-impl.xml.stylesheet.CRC32=876e7a8f@1.75.2.48
V6_POO_SacolaCompras/nbproject/project.properties
annotation.processing.enabled=true
annotation.processing.enabled.in.editor=false
annotation.processing.processor.options=
annotation.processing.processors.list=
annotation.processing.run.all.processors=true
annotation.processing.source.output=${build.generated.sources.dir}/ap-source-output
build.classes.dir=${build.dir}/classes
build.classes.excludes=**/*.java,**/*.form
# This directory is removed when the project is cleaned:
build.dir=build
build.generated.dir=${build.dir}/generated
build.generated.sources.dir=${build.dir}/generated-sources
# Only compile against the classpath explicitly listed here:
build.sysclasspath=ignore
build.test.classes.dir=${build.dir}/test/classes
build.test.results.dir=${build.dir}/test/results
# Uncomment to specify the preferred debugger connection transport:
#debug.transport=dt_socket
debug.classpath=\
 ${run.classpath}
debug.test.classpath=\
 ${run.test.classpath}
# Os arquivos em build.classes.dir que devem ser exclu\u00eddos do jar de distribui\u00e7\u00e3o
dist.archive.excludes=
# This directory is removed when the project is cleaned:
dist.dir=dist
dist.jar=${dist.dir}/V6_POO_SacolaCompras.jar
dist.javadoc.dir=${dist.dir}/javadoc
excludes=
includes=**
jar.compress=false
javac.classpath=
# Space-separated list of extra javac options
javac.compilerargs=
javac.deprecation=false
javac.processorpath=\
 ${javac.classpath}
javac.source=1.7
javac.target=1.7
javac.test.classpath=\
 ${javac.classpath}:\
 ${build.classes.dir}
javac.test.processorpath=\
 ${javac.test.classpath}
javadoc.additionalparam=
javadoc.author=false
javadoc.encoding=${source.encoding}
javadoc.noindex=false
javadoc.nonavbar=false
javadoc.notree=false
javadoc.private=false
javadoc.splitindex=true
javadoc.use=true
javadoc.version=false
javadoc.windowtitle=
main.class=V6_SacolaCompras.Principal
manifest.file=manifest.mf
meta.inf.dir=${src.dir}/META-INF
mkdist.disabled=false
platform.active=default_platform
run.classpath=\
 ${javac.classpath}:\
 ${build.classes.dir}
# Space-separated list of JVM arguments used when running the project.
# You may also define separate properties like run-sys-prop.name=value instead of -Dname=value.
# To set system properties for unit tests define test-sys-prop.name=value:
run.jvmargs=
run.test.classpath=\
 ${javac.test.classpath}:\
 ${build.test.classes.dir}
source.encoding=UTF-8
src.dir=src
test.src.dir=test
V6_POO_SacolaCompras/nbproject/project.xml
 
 org.netbeans.modules.java.j2seproject
 
 
 V6_POO_SacolaCompras
 
 
 
 
 
 
 
 
V6_POO_SacolaCompras/src/V6_SacolaCompras/Cadastro.java
/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package V6_SacolaCompras;
import java.util.ArrayList;
import java.util.Scanner;
/**
 *
 * @author fabiano
 */
public class Cadastro extends Produto{
 
 ArrayList <Produto> lista = new ArrayList<>(); //estaciando um ArrayList
 Scanner lerTeclado = new Scanner(System.in); //estanciando entrada do teclado
 
 void adicionaItem(Produto a){ //pega um objeto inteiro
 lista.add(a); // adiciona no ArrayList (vetor dinamico = colecao)
 }
 
 void removeItem(){ // metodo para apagar um item pelo indice
 if(lista.size()== 0){ // verifica pelo tamanho se há itens
 System.out.printf("\n\tNão é possivel remover lista vazia\n"); 
 }
 else{
 System.out.printf("Informe o numero do itema ser removido: ");
 int n = lerTeclado.nextInt(); //grava na variavel n o valor o item escolhido
 lista.remove(n-1); //remove o item , n-1 pq comeca em zero
 System.out.printf("Item %d Removido\n\n",n); //mensagem de exclusão
 }
 
 }
 
 void imprimeLista(){
 double soma = 0; // variavel que faz o valor total de compras
 
 System.out.println("");
 System.out.println("--------------Lista de itens selecionados------------------");
 System.out.println("-----------------------------------------------------------");
 System.out.println("Item nome Tipo Marca Preço quant Preço Total");
 System.out.println("-----------------------------------------------------------");
 for(int i = 0; i < lista.size();i++){ //laco que pega os valores por itens em funcao dos numero de objetos inseridos
 soma += lista.get(i).getPrecoQuant();
 System.out.printf(" %d %s %s %s %.2f %.1f %.2f\n"
 ,i+1,lista.get(i).getNome(),lista.get(i).getTipo(), lista.get(i).getMarca(),
 lista.get(i).getPreco(),lista.get(i).getQuant(), lista.get(i).getPrecoQuant() );
 
 System.out.println("-----------------------------------------------------------");
 }
 System.out.printf("\tValor Total dos itens da lista = R$ %.2f\n",soma);
 
 }
}
V6_POO_SacolaCompras/src/V6_SacolaCompras/Principal.java
/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package V6_SacolaCompras;
import java.util.Scanner;
/**
 *
 * @author fabiano
 */
public class Principal {
 
 
 
 public static void main(String[] args) {
 Scanner lerTeclado = new Scanner(System.in);// estancia entrada do teclado
 Cadastro acao = new Cadastro(); //estancia o menu 
 
 
 int opcao; // variaveis de opcao do menu
 int opcao2;
 int opcao3;
 
 do{ // laco do menu principal
 System.out.printf("\nMENU PRINCIPAL\n");
 System.out.printf("\nEscolha uma opção\n\n");
 System.out.println("(1)Adicionar Item");
 System.out.println("(2)Remover Item");
 System.out.println("(3)Imprimir Lista");
 System.out.println("(0) Sair do programa;");
 System.out.printf("\nInforme a opção: ");
 opcao = lerTeclado.nextInt(); // insere valor
na variavel opcao
 
 
 switch (opcao){ // compara e executa conforme valor da variavel opcao
 
 case 3://se 3 imprime lista
 acao.imprimeLista();
 break; 
 case 2: // se 2 chama 2 metodos 
 acao.imprimeLista(); //imprime lista, ver os itens
 acao.removeItem(); // exclui numero do item
 break;
 case 1:// chama o menu secundario
 do{ //laço do menu secundario
 System.out.println(" ");
 System.out.printf("\nMENU SECUNDARIO\n");
 System.out.printf("\nEscolha uma ação\n\n");
 System.out.println("(1)Cadastrar Item");
 System.out.println("(2)Imprimir Lista");
 System.out.println("(0)Voltar ao Menu Principal");
 System.out.printf("\nInforme a ação: ");
 opcao2 = lerTeclado.nextInt();//insere valor na opcao2
 
 
 switch(opcao2){ //compara a opcao 2 e procura o caso
 case 1: // cria sub menu do menu secundario
 
 System.out.println("Informe tipo de unidade");
 System.out.println("(1) Kilo");
 System.out.println("(2) Litro");
 System.out.println("(3) Unidade");
 System.out.printf("qual opção: ");
 opcao3 = lerTeclado.nextInt(); // insere valor na variavel opcao3
 
 if(opcao3 == 1){ // compara se a condição eh verdadeira ou falsa
 Prod_Kg item = new Prod_Kg(); // estancia um item, herdando da classe Produto
 System.out.printf("\nInforme quantidade em KG: ");
 item.setUnitKg(lerTeclado.nextDouble()); 
 item.setQuant(item.getUnitKg());//grava valores de Kg no atributo
 System.out.printf("\nInforme dados do produto");
 System.out.printf("\nNome: "); 
 
 item.setNome(lerTeclado.next()); //grava valor no atributo nome
 System.out.printf("Tipo: ");
 item.setTipo(lerTeclado.next()); // grava valor no atrubuto tipo
 System.out.printf("Marca: ");
 item.setMarca(lerTeclado.next()); // grava valor no atributo marca
 System.out.printf("Preço: ");
 item.setPreco(lerTeclado.nextDouble()); // grava preço no atributo preco
 
 item.setPrecoKgTotal(item.getUnitKg()*item.getPreco()); //multiplica valores e grava variavel total
 System.out.printf("Preço Total: %.2f\n",item.getPrecoKgTotal()); // imprime sub total do item
 item.setPrecoQuant(item.getPrecoKgTotal()); // grava na variavel da classe produto o subtotal
 
 acao.adicionaItem(item);//inclui item no arrayList 
 break;
 }
 
 else if(opcao3 == 2){ // valores 2 e 3 mesmo comentários acima
 
 Prod_Lt item = new Prod_Lt();
 System.out.printf("\nInforme quantidade em Litros: ");
 item.setUnitLt(lerTeclado.nextDouble());
 item.setQuant(item.getUnitLt());
 System.out.printf("\nInforme dados do produto");
 System.out.printf("\nNome: ");
 
 item.setNome(lerTeclado.next());
 System.out.printf("Tipo: ");
 item.setTipo(lerTeclado.next());
 System.out.printf("Marca: ");
 item.setMarca(lerTeclado.next());
 System.out.printf("Preço: ");
 item.setPreco(lerTeclado.nextDouble());
 
 item.setPrecoLtTotal(item.getUnitLt()*item.getPreco());
 System.out.printf("Preço Total: %.2f\n",item.getPrecoLtTotal());
 item.setPrecoQuant(item.getPrecoLtTotal());
 
 acao.adicionaItem(item); 
 break;
 
 }
 
 else if(opcao3 == 3){
 
 Prod_Un item = new Prod_Un();
 System.out.printf("\nInforme quantidade em Unidades: ");
 item.setUnitUn(lerTeclado.nextInt());
 item.setQuant(item.getUnitUn());
 System.out.printf("\nInforme dados do produto");
 System.out.printf("\nNome: ");
 
 item.setNome(lerTeclado.next());
 System.out.printf("Tipo: ");
 item.setTipo(lerTeclado.next());
 System.out.printf("Marca: ");
 item.setMarca(lerTeclado.next());
 System.out.printf("Preço: ");
 item.setPreco(lerTeclado.nextDouble());
 
 item.setPrecoUnTotal(item.getUnitUn()*item.getPreco());
 System.out.printf("Preço Total: %.2f\n",item.getPrecoUnTotal());
 item.setPrecoQuant(item.getPrecoUnTotal());
 
 acao.adicionaItem(item); 
 break;
 
 }
 
 else{
 System.out.println("Opção Inválida"); // caso usuario colocar numero diferente
 break;
 } 
 
 
 case 2:
 acao.imprimeLista(); //imprime os itens o arrayList
 break;
 }
}while(opcao2 != 0); // condicao para sair do laco segundo laco do
 
 
 
 }
 
 }while(opcao != 0);// condicao para sair do primeiro laco do
 
 
 }
 
 
 
}
V6_POO_SacolaCompras/src/V6_SacolaCompras/Prod_Kg.java
/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package V6_SacolaCompras;
/**
 *
 * @author fabiano
 */
public class Prod_Kg extends Produto{ //herda caracteristicas da classe produto
 
 //atributos
 private double unitKg;
 private double precoKgTotal;
 
 
 //metodos
 //todos gets acessam os valores
 //todos set inserem valores
 public double getUnitKg() {
 return unitKg;
 }
 public void setUnitKg(double unitKg) {
 this.unitKg = unitKg;
 }
 
 public double getPrecoKgTotal() {
 return precoKgTotal;
 }
 public void setPrecoKgTotal(double precoKgTotal) {
 this.precoKgTotal = precoKgTotal;
 }
 
 
}
V6_POO_SacolaCompras/src/V6_SacolaCompras/Prod_Lt.java
/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package V6_SacolaCompras;
/**
 *
 * @author fabiano
 */
public class Prod_Lt extends Produto{ //herda caracteristicas da classe produto
 
 //atributos
 private double unitLt;
 private double precoLtTotal;
 //metodos
 //todos gets acessam os valores
 //todos set inserem valores
 public double getUnitLt() {
 return unitLt;
 }
 public void setUnitLt(double unitLt) {
 this.unitLt = unitLt;
 }
 public double getPrecoLtTotal() {
 return precoLtTotal;
 }
 public void setPrecoLtTotal(double precoLtTotal) {
 this.precoLtTotal = precoLtTotal;
 }
}
V6_POO_SacolaCompras/src/V6_SacolaCompras/Prod_Un.java
/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package V6_SacolaCompras;
/**
 *
 * @author fabiano
 */
public class Prod_Un extends Produto { //herda caracteristicas da classe produto
 
 //atributos
 private int unitUn;
 private double precoUnTotal;
 
 //metodos
 //todos gets acessam os valores
 //todos set inserem valores
 public double getUnitUn() {
 return unitUn;
 }
 public void setUnitUn(int unitUn) {
 this.unitUn = unitUn;
 }
 public double getPrecoUnTotal() {
 return precoUnTotal;
 }
 public void setPrecoUnTotal(double precoUnTotal) {
 this.precoUnTotal = precoUnTotal;
 }
 
 
 
}
V6_POO_SacolaCompras/src/V6_SacolaCompras/Produto.java
/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package V6_SacolaCompras;
/**
 *
 * @author fabiano
 */
public class Produto {
 //atributos
 private String nome;
 private String Tipo;
 private String Marca;
 private double preco;
 private double quant;
 private double precoQuant;
 
 //metodos
 //todos gets acessam os valores
 //todos set inserem valores
 public double getQuant() {
 return quant;
 }
 public void setQuant(double quant) {
 this.quant = quant;
 }
 public double getPrecoQuant() {
 return precoQuant;
 }
 public void setPrecoQuant(double precoQuant) {
 this.precoQuant = precoQuant;
 }
 
 public String getNome() {
 return nome;
 }
 public void setNome(String nome) {
 this.nome = nome;
 }
 public String getTipo() {
 return Tipo;
 }
 public void setTipo(String Tipo) {
 this.Tipo = Tipo;
 }
 public String getMarca() {
 return Marca;
 }
 public void setMarca(String Marca) {
 this.Marca = Marca;
 }
 public double getPreco() {
 return preco;
 }
 public void setPreco(double preco) {
 this.preco = preco;
 }
 
 
 
 
}

Teste o Premium para desbloquear

Aproveite todos os benefícios por 3 dias sem pagar! 😉
Já tem cadastro?