Vingrinājuma mērķis: Šajā vingrinājumā var noskaidrot vairāku Javas tehnoloģijas programmu paraugu kļūdas (kompilācijas un izpildes laikā), un izdomāt nepieciešamos labojumus.
Darbības:
Javas kā arī Web aplikāciju programmētājam mēdz būt nepieciešama iespēja ērti kopēt failus (t.sk. uz mašīnām ārpus lokālā tīkla ar FTP), izpētīt ZIP un JAR arhīvu iekšējo struktūru, atvērt DOS komandrindu dažādās direktorijās, utml. Šim nolūkam labi kalpo, piemēram, rīks "Windows Commander" vai arī "FAR manager". Kursa laikā ieteicams izmantot "shareware" programmproduktu Windows Commander - instalēt to uz izmēģinājuma laiku. (FAR lietotāji var turpināt lietot FAR).
Javas programmas vienkāršākajā gadījumā var veidot ar pavisam vienkāršu teksta redaktoru, piemēram Notepad vai WordPad. Lai efektīvi varētu atrast kompilācijas kļūdas, ērtāk izmantot tos teksta redaktorus, kuri rāda rindu numurus. EditPlus ir īpaši ērts no vienkāršajiem redaktoriem, jo tajā var veidot Javas programmētājam ērtas atkāpes, tajā notiek koda atslēgvārdu automātiska izkrāsošana, kā arī ir pietiekoši varenas teksta meklēšanas un aizvietošanas metodes (t.sk. regulāras izteiksmes). "Windows Commander" un "EditPlus" var papildus integrēt, panākot, lai redaktoru "EditPlus" varētu palaist uz jebkura faila ar F4 (Edit) komandu.
Vingrinājuma mērķis:
Darbības:
Javas kompilators, sastopot ne-ASCII simbolus Stringu mainīgajos, tos pārveido par Unikoda simboliem. Šis process var būt atkarīgs no tā, kāds attiecīgajā mašīnā ir noklusētais kodējums. Piemēram, simbols "ā" (programmā būdams ierakstīts windows-1257 kodējumā, t.i. baits "E2", jeb decimālajā sistēmā tas ir 226) var pārveidoties par latviešu garajam patskanim atbilstošo pareizo Unikoda simbolu ("ā", jeb decimālajā sistēmā tas ir 257), bet var arī nepārveidoties. Rakstot programmā literāli "ā", mēs garantēti iegūstam vēlamo Unikoda simbolu. Javā internacionalizācijas stringiem parasti piekļūst ar speciālu klasi java.util.ResourceBundle.
Vingrinājuma mērķis:
Darbības:
if (args.length != 3) {
System.out.println("Lietojums: java TestGreeting x0 delta N");
System.exit(0);
}
double x0 = Double.parseDouble(args[0]);
double delta = Double.parseDouble(args[1]);
int N = Integer.parseInt(args[2]);
public void cosTable(double x0, double delta, int N) {
System.out.println("<table border>");
for (int i = 0; i <= N; i++) {
double xi = x0 + i*delta;
System.out.println("<tr><td>" + xi + "</td>"
+ "<td>" + Math.cos(xi) + "</td></tr>");
}
System.out.println("</table>");
}
java TestGreeting x0 delta N > out.html
Augšminētajā piemērā mēs dinamiski ģenerējam HTML kodu no Javas programmas. Šī situācija ir tipiska it īpaši Javas servletu programmēšanā. Formāli runājot, programma vienā valodā (Javā) izvada tekstu citā valodā (HTML). HTML sintakses elementi - birkas jeb tegi: TABLE, TR, TD utml. tiek likti pēdiņās un konkatenēti kopā ar programmas izpildes laikā izrēķinātiem mainīgajiem - aritmētiskās progresijas locekļiem un atbilstošajām kosinusa vērtībām.
Cikls programmā atkārtojas N+1 reizi un drukā ar rāmīti apvilktos teksta fragmentus HTML izejas tekstā (sk. zīmējumu).
