Exercice JSP JAVA et les boucles while

Soit le programme JSP suivant calculant le total d'une facture en tenant compte si des produits sont taxables ou non :

-------------------------------------------------------------------------------------

1.    <form method="POST" enctype="multipart/form-data">
2.       Fichier à charger : <input type="file" name="fichier" size="20"><br>   
3.       <input type="submit"><br>
4.    </form>
5.    <%@ page import='com.oreilly.servlet.*' %>
6.    <%@ page import='java.io.*' %>
7.    <%@ page import='java.util.*' %>
8.    <%!
9.        /** Taux de la TPS */
10.        final double TPS = 0.07;
11.   
12.        /** Taux de la TVQ */
13.        final double TVQ = 0.075;
14.    %>
15.   
16.    <%
17.        if (request != null && request.getContentType() != null) {
18.            MultipartRequest req = new MultipartRequest(request,"C:\\temp");
19.   
20.            File fichier = req.getFile("fichier");
21.            if (fichier == null)
22.                return;
23.   
24.            out.print("<table border='1'>");
25.   
26.            double prixUnitaire;
27.            int quantité;
28.            boolean taxable;
29.   
30.            double totalNonTaxable=0.0;
31.            double totalTaxable=0.0;
32.            double montantTPS;
33.            double totalAprèsTPS;
34.            double montantTVQ;
35.            double totalAprèsTaxes;
36.   
37.            String ligne;
38.   
39.            out.print("<tr>");
40.            out.print("<th>Prix unitaire</th>");
41.            out.print("<th>Quantité</th>");
42.            out.print("<th>Taxable</th>");
43.            out.print("<th>Total taxable</th>");
44.            out.print("<th>Total non-taxable</th>");
45.            out.print("</tr>");
46.   
47.  BufferedReader reader = new BufferedReader(new FileReader(fichier));
48.   
49.            while ( . . . ) {
50.                double total=0;
51.   
52.                out.print("<tr>");
53.                StringTokenizer champs = new StringTokenizer(ligne);
54.   
55.                String valeur = (String)(champs.nextElement());
56.                prixUnitaire = Double.parseDouble(valeur);
57.                out.print("<td align='center' align='center'>"+valeur+"</td>");
58.   
59.                valeur = (String)(champs.nextElement());
60.                quantité = Integer.parseInt(valeur);
61.                out.print("<td align='center'>"+valeur+"</td>");
62.   
63.                valeur = (String)(champs.nextElement());
64.                taxable = valeur.equals("oui");
65.                out.print("<td align='center'>"+valeur+"</td>");
66.   
67.                //     Question b)
68.   
69.                out.print("</tr>");
70.            }
71.   
72.            reader.close();
73.   
74.            // Question c)
75.   
76.            out.print("<td colspan='3'>Totaux</td><td>" + (totalTaxable));
77.            out.print("</td><td>" + totalNonTaxable+"</td>");
78.   
79.            out.print("</table>");
80.   
81.            out.println("TPS : "+montantTPS);
82.            out.println("TVQ : "+montantTVQ);
83.            out.println("Total : "+totalAprèsTaxes);
84.        }
85.    %>
-------------------------------------------------------------------------------------


TRAVAIL A FAIRE : 

a)    Ajoutez la condition à l'instruction while de la ligne 50.
b)    Ajoutez les instructions Java permettant de calculer totalTaxable et totalNonTaxable à la ligne 67.
c)    Ajoutez les instructions Java permettant de calculer montantTPS, totalAprèsTPS, montantTVQ et totalAprèsTaxes à la  ligne 74.

Article plus récent Article plus ancien

Leave a Reply