diff --git a/NetBeans Projects/Prodotti/build.xml b/NetBeans Projects/Prodotti/build.xml new file mode 100644 index 0000000..69d4669 --- /dev/null +++ b/NetBeans Projects/Prodotti/build.xml @@ -0,0 +1,73 @@ + + + + + + + + + + + Builds, tests, and runs the project EsPasqua. + + + diff --git a/NetBeans Projects/Prodotti/build/classes/.netbeans_automatic_build b/NetBeans Projects/Prodotti/build/classes/.netbeans_automatic_build new file mode 100644 index 0000000..e69de29 diff --git a/NetBeans Projects/Prodotti/build/classes/.netbeans_update_resources b/NetBeans Projects/Prodotti/build/classes/.netbeans_update_resources new file mode 100644 index 0000000..e69de29 diff --git a/NetBeans Projects/Prodotti/manifest.mf b/NetBeans Projects/Prodotti/manifest.mf new file mode 100644 index 0000000..328e8e5 --- /dev/null +++ b/NetBeans Projects/Prodotti/manifest.mf @@ -0,0 +1,3 @@ +Manifest-Version: 1.0 +X-COMMENT: Main-Class will be added automatically by build + diff --git a/NetBeans Projects/Prodotti/nbproject/build-impl.xml b/NetBeans Projects/Prodotti/nbproject/build-impl.xml new file mode 100644 index 0000000..fb6628c --- /dev/null +++ b/NetBeans Projects/Prodotti/nbproject/build-impl.xml @@ -0,0 +1,1771 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/NetBeans Projects/Prodotti/nbproject/genfiles.properties b/NetBeans Projects/Prodotti/nbproject/genfiles.properties new file mode 100644 index 0000000..c371171 --- /dev/null +++ b/NetBeans Projects/Prodotti/nbproject/genfiles.properties @@ -0,0 +1,8 @@ +build.xml.data.CRC32=2fdcd13d +build.xml.script.CRC32=7d6b168c +build.xml.stylesheet.CRC32=f85dc8f2@1.106.0.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=2fdcd13d +nbproject/build-impl.xml.script.CRC32=fc1dc10f +nbproject/build-impl.xml.stylesheet.CRC32=12e0a6c2@1.106.0.48 diff --git a/NetBeans Projects/Prodotti/nbproject/private/private.properties b/NetBeans Projects/Prodotti/nbproject/private/private.properties new file mode 100644 index 0000000..a2ad8bd --- /dev/null +++ b/NetBeans Projects/Prodotti/nbproject/private/private.properties @@ -0,0 +1,2 @@ +compile.on.save=true +user.properties.file=/home/giacomo/.netbeans/17/build.properties diff --git a/NetBeans Projects/Prodotti/nbproject/private/private.xml b/NetBeans Projects/Prodotti/nbproject/private/private.xml new file mode 100644 index 0000000..1a110b8 --- /dev/null +++ b/NetBeans Projects/Prodotti/nbproject/private/private.xml @@ -0,0 +1,12 @@ + + + + + + file:/home/giacomo/NetBeansProjects/Prodotti/src/prodotti/Alimentari.java + file:/home/giacomo/NetBeansProjects/Prodotti/src/prodotti/Prodotti.java + file:/home/giacomo/NetBeansProjects/Prodotti/src/prodotti/NonAlimentari.java + file:/home/giacomo/NetBeansProjects/Prodotti/src/prodotti/ListaSpesa.java + + + diff --git a/NetBeans Projects/Prodotti/nbproject/project.properties b/NetBeans Projects/Prodotti/nbproject/project.properties new file mode 100644 index 0000000..be08150 --- /dev/null +++ b/NetBeans Projects/Prodotti/nbproject/project.properties @@ -0,0 +1,95 @@ +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.modulepath=\ + ${run.modulepath} +debug.test.classpath=\ + ${run.test.classpath} +debug.test.modulepath=\ + ${run.test.modulepath} +# Files in build.classes.dir which should be excluded from distribution jar +dist.archive.excludes= +# This directory is removed when the project is cleaned: +dist.dir=dist +dist.jar=${dist.dir}/EsPasqua.jar +dist.javadoc.dir=${dist.dir}/javadoc +dist.jlink.dir=${dist.dir}/jlink +dist.jlink.output=${dist.jlink.dir}/EsPasqua +excludes= +includes=** +jar.compress=false +javac.classpath= +# Space-separated list of extra javac options +javac.compilerargs= +javac.deprecation=false +javac.external.vm=true +javac.modulepath= +javac.processormodulepath= +javac.processorpath=\ + ${javac.classpath} +javac.source=11 +javac.target=11 +javac.test.classpath=\ + ${javac.classpath}:\ + ${build.classes.dir} +javac.test.modulepath=\ + ${javac.modulepath} +javac.test.processorpath=\ + ${javac.test.classpath} +javadoc.additionalparam= +javadoc.author=false +javadoc.encoding=${source.encoding} +javadoc.html5=false +javadoc.noindex=false +javadoc.nonavbar=false +javadoc.notree=false +javadoc.private=false +javadoc.splitindex=true +javadoc.use=true +javadoc.version=false +javadoc.windowtitle= +# The jlink additional root modules to resolve +jlink.additionalmodules= +# The jlink additional command line parameters +jlink.additionalparam= +jlink.launcher=true +jlink.launcher.name=EsPasqua +main.class=prodotti.ListaSpesa +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.modulepath=\ + ${javac.modulepath} +run.test.classpath=\ + ${javac.test.classpath}:\ + ${build.test.classes.dir} +run.test.modulepath=\ + ${javac.test.modulepath} +source.encoding=UTF-8 +src.dir=src +test.src.dir=test diff --git a/NetBeans Projects/Prodotti/nbproject/project.xml b/NetBeans Projects/Prodotti/nbproject/project.xml new file mode 100644 index 0000000..4a17984 --- /dev/null +++ b/NetBeans Projects/Prodotti/nbproject/project.xml @@ -0,0 +1,15 @@ + + + org.netbeans.modules.java.j2seproject + + + EsPasqua + + + + + + + + + diff --git a/NetBeans Projects/Prodotti/src/prodotti/Alimentari.java b/NetBeans Projects/Prodotti/src/prodotti/Alimentari.java new file mode 100644 index 0000000..67d8475 --- /dev/null +++ b/NetBeans Projects/Prodotti/src/prodotti/Alimentari.java @@ -0,0 +1,30 @@ +package prodotti; + +import java.util.Date; + + + +/** + * + * @author giacomo + */ +public class Alimentari extends Prodotti { + Date scadenza; + + public Alimentari(int codiceBarre, String descrizione, double prezzo, Date scadenza) { + super(codiceBarre, descrizione, prezzo); + this.scadenza = scadenza; + } + + @Override + public void applicaSconto() { + //condizione da implementare + if(true) { + setPrezzo(getPrezzo() - getPrezzo()* 0.2); + } + } + + + + +} diff --git a/NetBeans Projects/Prodotti/src/prodotti/ListaSpesa.java b/NetBeans Projects/Prodotti/src/prodotti/ListaSpesa.java new file mode 100644 index 0000000..e7a0b36 --- /dev/null +++ b/NetBeans Projects/Prodotti/src/prodotti/ListaSpesa.java @@ -0,0 +1,36 @@ +package prodotti; + +import java.util.ArrayList; +import java.util.Scanner; +import java.util.Date; + +/** + * + * @author giacomo + */ +public class ListaSpesa { + public static void main(String[] args) { + ArrayList listaSpesa = new ArrayList<>(); + Scanner in = new Scanner(System.in); + + System.out.println("Hai la tessera fedeltà?"); + boolean tessera = (in.next().equalsIgnoreCase(sì)) ? true : false; + + System.out.println("Inserisci il numero di prodotti"); + int n = in.nextInt(); + + for(int i = 0; i < n; i++) { + String tipoProdotto = in.next().toLowerCase(); + if(tipoProdotto.equals("alimentari")) { + System.out.println("Inserisci i dati del prodotto nel formato:\nCodiceBarre\ndescrizione\nprezzo\nscadenza"); + listaSpesa.add(new Alimentari(in.nextInt(), in.nextLine(), in.nextDouble(), new Date())); + } + } + + double prezzo; + + for(Prodotti p : listaSpesa) { + prezzo += p.getPrezzo(); + } + } +} diff --git a/NetBeans Projects/Prodotti/src/prodotti/NonAlimentari.java b/NetBeans Projects/Prodotti/src/prodotti/NonAlimentari.java new file mode 100644 index 0000000..16df36e --- /dev/null +++ b/NetBeans Projects/Prodotti/src/prodotti/NonAlimentari.java @@ -0,0 +1,22 @@ +package prodotti; + +/** + * + * @author giacomo + */ +public class NonAlimentari extends Prodotti { + String materiale; + + public NonAlimentari(int codiceBarre, String descrizione, double prezzo, String materiale) { + super(codiceBarre, descrizione, prezzo); + this.materiale = materiale; + } + + @Override + public void applicaSconto() { + if(materiale.equalsIgnoreCase("carta") || materiale.equalsIgnoreCase("plastica") || materiale.equalsIgnoreCase("vetro")) { + setPrezzo(getPrezzo() - getPrezzo()* 0.1); + } + } + +} diff --git a/NetBeans Projects/Prodotti/src/prodotti/Prodotti.java b/NetBeans Projects/Prodotti/src/prodotti/Prodotti.java new file mode 100644 index 0000000..c3f4dca --- /dev/null +++ b/NetBeans Projects/Prodotti/src/prodotti/Prodotti.java @@ -0,0 +1,87 @@ +package prodotti; + +import java.util.Objects; + + + +/** + * Class Prodotti + */ +public class Prodotti { + private int codiceBarre; + private String descrizione; + private double prezzo; + + public Prodotti(int codiceBarre, String descrizione, double prezzo) { + this.codiceBarre = codiceBarre; + this.descrizione = descrizione; + this.prezzo = prezzo; + } + + /** + * Get the value of codiceBarre + * @return the value of codiceBarre + */ + public int getCodiceBarre () { + return codiceBarre; + } + + /** + * Get the value of descrizione + * @return the value of descrizione + */ + public String getDescrizione () { + return descrizione; + } + + /** + * Get the value of prezzo + * @return the value of prezzo + */ + public double getPrezzo () { + return prezzo; + } + + protected void setPrezzo(double nuovoPrezzo) { + prezzo = nuovoPrezzo; + } + + /** + * Diminuisce il prezzo del prodotto del 5% + */ + public void applicaSconto() { + prezzo = prezzo - prezzo * 0.05; + } + + + /** + * + * @return String + */ + @Override + public String toString() { + return "Prodotto[descrizione: " + descrizione + ", prezzo:" + prezzo + ", codice a barre:" + codiceBarre; + } + + + /** + * @param o + * @return boolean + */ + @Override + public boolean equals(Object o) { + if(o == null) return false; + if(!(o instanceof Prodotti)) return false; + Prodotti p = (Prodotti) o; + return descrizione.equals(p.descrizione) && prezzo == p.prezzo && codiceBarre == p.codiceBarre; + } + + @Override + public int hashCode() { + int hash = 7; + hash = 29 * hash + this.codiceBarre; + hash = 29 * hash + Objects.hashCode(this.descrizione); + hash = 29 * hash + (int) (Double.doubleToLongBits(this.prezzo) ^ (Double.doubleToLongBits(this.prezzo) >>> 32)); + return hash; + } +}