Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2007
    Messaggi
    4

    Come si applica uno sconto in percentuale...

    Ciao,
    stavo facendo un esercizio in java, sapete, uno di quelli che mi servono per esercitarmi in prossimità dell'esame (sono al primo anno di programmazione), ma non mi viene una cosa, esattamente non capisco come calcolare uno sconto in percentuale.

    esercizio:
    Scrivere un'applicazione che legge un prezzo espresso in euro (parte intera e centesimi) e una percentuale di sconto (come numero intero) e comunichi:

    Importo letto in Euro
    lo sconto in Euro
    L'importo scontato in Euro e in lire

    Esempio di esecuzione:

    Prezzo: euro? 10
    cent? 60
    Sconto percentuale? 5
    prezzo: Euro 10,60
    Sconto: Euro 0,53
    Prezzo scontato: Euro 10,07 (Lire 19498)

    Sorgente:

    import prog.io.*;
    import prog.utili.Importo;

    public class Importoeuro {

    public static void main(String[] args) {

    ConsoleInputManager in = new ConsoleInputManager();
    ConsoleOutputManager out = new ConsoleOutputManager();

    // Lettura importo euro e centesimi
    int euro = in.readInt("Prezzo: Euro ? ");
    int cent = in.readInt("Prezzo: Centesimi ? ");

    //Lettura sconto
    int scont = in.readInt("Sconto percentuale? ");

    //assegnazione dei rispettivi valori, e sconto
    Importo subtot = new Importo (euro,cent);
    Importo perc = new Importo (scont);

    /mostra a video i risultati
    out.println("Prezzo: Euro " + subtot);
    out.println("Sconto: Euro " + scont);

    //assegnazione del Totale
    Importo Totale = new Importo (euro,scont);

    //conversione in lire
    int convInLire = Totale.toLire();

    //visualizza Totale in euro e lire
    out.print("Prezzo scontato: Euro " + Totale + " (Lire " + convInLire);

    }
    }

    Ringrazio tutti quelli che mi potranno dare una risposta...

    Ciao lory

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,280
    Innanzitutto dovresti spiegare come è fatta la classe Importo, visto che solo tu puoi saperlo. Poi comunque, a livello concettuale, creare un oggetto "Importo" per una percentuale non credo che abbia molto senso .....

    Ad ogni modo, se dovessi farlo io, metterei nella classe Importo un metodo sconto() a cui passo la percentuale e che mi restituisce un Importo che contiene lo sconto. La formula è quella, banale, per calcolare una percentuale: valore * percentuale / 100. Nell'esempio sopra: 10,60 * 5 / 100 = 0,53.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2007
    Messaggi
    4
    la Classe Importo, ma non l'ho fatta io, mi è stata data a scuola, ma credo che sia una classe di java, almeno cosi ho capito.
    Cmq ho trovato in rete lo stesso esercizio che io volevo fare, anzi questo è ancora più completo, lo allego in caso possa servire a qualcun'altro.

    Avrei voluto allegare la classe Importo ma i file.doc non si possono allegare.


    /* esercizio:
    * Leggere un prezzo in euro (euro e centesimi)e comunicare:
    * -il prezzo in euro scritto in cifre e lettere (nel formato
    * che si utilizza per gli assegni: adesempio 12,05 si scrive dodici/05)
    * -l'equivalente in lire scritto in cifre e lettere.
    * leggere poi una percentuale di sconto (come numero intero)
    * lo sconto in euro
    * -il prezzo scontato
    * Leggere poi un importo pagato espresso in euro e comunicare
    * il debito o il resto rispetto al prezzo scontato.
    */

    import prog.io.*;
    import prog.utili.Importo;
    import prog.utili.Intero;

    public class Scontrino {
    public static void main(String[] args) {
    ConsoleInputManager in = new ConsoleInputManager();
    ConsoleOutputManager out = new ConsoleOutputManager();

    //fase 1: lettura prezzo
    out.println("Inserireil prezzo: ");
    int euro = in.readInt("--- Euro ? ");
    int cent = in.readInt("--- Centesimi ? ");
    Importo subtot = new Importo (euro,cent);
    //out.println("Il valore è: " + subtot);

    //Fase 2:comunicazione del prezzo in Euro
    String subtotInCifre = subtot.toString(); //calcolo stringa subtot in cifre
    int lunghezzasubtot = subtotInCifre.length();//...e della sua lunghezza
    Intero n = new Intero(subtot.getEuro());
    String subtotInLettere = n.toString()+"/"+subtotInCifre.substring(lunghezzasubtot-2);
    /*Nota: la stringa in lettere è formata dal numero di euro in lettere,
    seguito dal simbolo /, seguito dalle due cifre dei centesimi, es "dodici/05"
    */
    out.println("Subtotale : Euro " + subtotInCifre + "(" +subtotInLettere + ")");

    //Fase 3: comunicazione del prezzo in Lire
    int subtotInLire = subtot.toLire();//calcolo prezzo in lire
    n = new Intero(subtotInLire);
    String subtotInLireInLettere = n.toString();
    out.println("Subtotale: Lire " + subtotInLire + "("+ subtotInLireInLettere + ")");

    /*Fase 4: lettura percentuale di sconto e calcolo dello sconto
    e del prezzo scontato
    */
    int percentualeSconto = in.readInt("Percentuale di sconto? ");
    Importo sconto =subtot.per(percentualeSconto).diviso(100);
    out.println("Sconto: Euro "+ sconto.toString());
    Importo prezzoScontato = subtot.meno(sconto);
    out.println("Prezzo scontato: Euro " + prezzoScontato.toString());

    //Fase 5: lettura importo pagato e calcolo del resto o del debito
    out.println("Inserire l'importo pagato: ");
    euro = in.readInt(" --- euro? ");
    cent = in.readInt(" --- centesimi? ");
    Importo pagato = new Importo(euro,cent);
    out.println("Importo pagato: Euro" + pagato.toString());

    if (pagato.isMinore(prezzoScontato)){
    Importo debito = prezzoScontato.meno(pagato);
    out.println("Debito: Euro " + debito.toString());
    } else {
    Importo resto = pagato.meno(prezzoScontato);
    out.println("Resto: Euro " + resto.toString());
    }
    }

    }

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.