-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtxt.rtf
10275 lines (10273 loc) · 400 KB
/
txt.rtf
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
{\rtf1\ansi\ansicpg1252\cocoartf1561
{\fonttbl\f0\fnil\fcharset0 HelveticaNeue;\f1\fmodern\fcharset0 Courier;}
{\colortbl;\red255\green255\blue255;\red0\green0\blue233;\red0\green0\blue0;}
{\*\expandedcolortbl;;\cssrgb\c0\c0\c93333;\cssrgb\c0\c0\c0;}
\paperw11900\paperh16840\margl1440\margr1440\vieww10800\viewh8400\viewkind0
\deftab720
\pard\pardeftab720\sl340\sa280\partightenfactor0
{\field{\*\fldinst{HYPERLINK "https://fenix.tecnico.ulisboa.pt/cms/news/po171795-564560566175813/parser-do-ficheiro-import"}}{\fldrslt
\f0\b\fs28 \cf2 \expnd0\expndtw0\kerning0
\ul \ulc2 Parser do ficheiro import}}
\f0\b\fs28 \cf3 \expnd0\expndtw0\kerning0
\
\pard\pardeftab720\sl240\partightenfactor0
\i\b0\fs20 \cf3 Publicado em 07-11-2017
\i0\fs24 \
\pard\pardeftab720\sl280\partightenfactor0
\f1 \cf3 [Restored contents truncated]\
tar: Error exit delayed from previous errors.\
Joaos-MacBook-Pro:47-ist186973-ist187719 joao$ less ../../../projecto/skeleton/mmt/app/*.java\
Joaos-MacBook-Pro:47-ist186973-ist187719 joao$ less ../../../projecto/skeleton/mmt/core/*.java\
Joaos-MacBook-Pro:47-ist186973-ist187719 joao$ less ../../../projecto/skeleton/mmt/app/\
App.java exceptions/ itineraries/ main/ passenger/ service/ \
Joaos-MacBook-Pro:47-ist186973-ist187719 joao$ less ../../../projecto/skeleton/mmt/app/*/*.java\
Joaos-MacBook-Pro:47-ist186973-ist187719 joao$ java Shop\
Error: Could not find or load main class Shop\
Joaos-MacBook-Pro:47-ist186973-ist187719 joao$ pwd\
/Users/joao/Dropbox/Cadeiras/PO2017/EP_Entregues/EP6/47-ist186973-ist187719\
Joaos-MacBook-Pro:47-ist186973-ist187719 joao$ ls -al\
total 56\
drwxr-xr-x@ 10 joao staff 340 23 Out 10:33 .\
drwx------@ 11 joao staff 374 23 Out 10:20 ..\
-rw-r--r--@ 1 joao staff 1032 23 Out 10:33 Client.class\
-rw-r--r--@ 1 joao staff 712 16 Out 11:19 Client.java\
drwxr-xr-x@ 3 joao staff 102 16 Out 11:38 META-INF\
-rw-r--r--@ 1 joao staff 1986 23 Out 10:33 Shop.class\
-rw-r--r--@ 1 joao staff 1224 16 Out 11:24 Shop.java\
-rw-r--r--@ 1 joao staff 704 23 Out 10:33 Vip.class\
-rw-r--r--@ 1 joao staff 514 16 Out 11:19 Vip.java\
-rwxr-xr-x@ 1 joao staff 1658 23 Out 10:15 ep6.jar\
Joaos-MacBook-Pro:47-ist186973-ist187719 joao$ cat Shop.java \
package po.ep6;\
\
import java.util.ArrayList;\
\
public class Shop \{\
private int _sales;\
private double _profit;\
private int _complaints;\
\
public Shop() \{\
\}\
\
public int getSales() \{\
return _sales;\
\}\
\
public double getProfit() \{\
return _profit;\
\}\
\
public int getComplaints() \{\
return _complaints;\
\}\
\
public void registerSale(double price) \{\
_profit += price;\
_sales++;\
\}\
\
public void registerComplaint() \{\
_complaints++;\
\}\
\
public static void main(String[] args) \{\
ArrayList<Client> clients = new ArrayList<>(22);\
Shop shop = new Shop();\
int n = 47;\
int i = 0;\
\
for (; i < 7; i++)\
clients.add(new Client("XPTO" + (n + i) % 22, shop));\
\
for (; i < 22; i++)\
clients.add(new Vip("XPTO" + (n + i) % 22, shop));\
\
for (Client c : clients) \{\
System.out.println("Client name: " + c.getName());\
c.getCatalog();\
c.complain();\
c.buyProduct(15.0);\
\}\
System.out.println("Complains = " + shop.getComplaints() + ", Profit = " + shop.getProfit() + ", Sales = " + shop.getSales());\
\}\
\}Joaos-MacBook-Pro:47-ist186973-ist187719 joao$ qmkdir po\
-bash: qmkdir: command not found\
Joaos-MacBook-Pro:47-ist186973-ist187719 joao$ mkdir po\
Joaos-MacBook-Pro:47-ist186973-ist187719 joao$ mkdir po/ep5\
Joaos-MacBook-Pro:47-ist186973-ist187719 joao$ mv *.class po/eps\
usage: mv [-f | -i | -n] [-v] source target\
mv [-f | -i | -n] [-v] source ... directory\
Joaos-MacBook-Pro:47-ist186973-ist187719 joao$ ls -al\
total 56\
drwxr-xr-x@ 11 joao staff 374 23 Out 21:42 .\
drwx------@ 11 joao staff 374 23 Out 10:20 ..\
-rw-r--r--@ 1 joao staff 1032 23 Out 10:33 Client.class\
-rw-r--r--@ 1 joao staff 712 16 Out 11:19 Client.java\
drwxr-xr-x@ 3 joao staff 102 16 Out 11:38 META-INF\
-rw-r--r--@ 1 joao staff 1986 23 Out 10:33 Shop.class\
-rw-r--r--@ 1 joao staff 1224 16 Out 11:24 Shop.java\
-rw-r--r--@ 1 joao staff 704 23 Out 10:33 Vip.class\
-rw-r--r--@ 1 joao staff 514 16 Out 11:19 Vip.java\
-rwxr-xr-x@ 1 joao staff 1658 23 Out 10:15 ep6.jar\
drwxr-xr-x@ 3 joao staff 102 23 Out 21:42 po\
Joaos-MacBook-Pro:47-ist186973-ist187719 joao$ mv *.class po/ep5/\
Joaos-MacBook-Pro:47-ist186973-ist187719 joao$ java po.ep5.Shop\
Error: Could not find or load main class po.ep5.Shop\
Joaos-MacBook-Pro:47-ist186973-ist187719 joao$ less Shop.java \
Joaos-MacBook-Pro:47-ist186973-ist187719 joao$ mv po/ep5 po/ep6\
Joaos-MacBook-Pro:47-ist186973-ist187719 joao$ java po.ep6.Shop\
Client name: XPTO3\
Catalogo de Vendas\
Estou a reclamar\
Client name: XPTO4\
Catalogo de Vendas\
Estou a reclamar\
Client name: XPTO5\
Catalogo de Vendas\
Estou a reclamar\
Client name: XPTO6\
Catalogo de Vendas\
Estou a reclamar\
Client name: XPTO7\
Catalogo de Vendas\
Estou a reclamar\
Client name: XPTO8\
Catalogo de Vendas\
Estou a reclamar\
Client name: XPTO9\
Catalogo de Vendas\
Estou a reclamar\
Client name: XPTO10\
Catalogo de Vendas\
Lista de promocoes\
Estou a reclamar\
Client name: XPTO11\
Catalogo de Vendas\
Lista de promocoes\
Estou a reclamar\
Client name: XPTO12\
Catalogo de Vendas\
Lista de promocoes\
Estou a reclamar\
Client name: XPTO13\
Catalogo de Vendas\
Lista de promocoes\
Estou a reclamar\
Client name: XPTO14\
Catalogo de Vendas\
Lista de promocoes\
Estou a reclamar\
Client name: XPTO15\
Catalogo de Vendas\
Lista de promocoes\
Estou a reclamar\
Client name: XPTO16\
Catalogo de Vendas\
Lista de promocoes\
Estou a reclamar\
Client name: XPTO17\
Catalogo de Vendas\
Lista de promocoes\
Estou a reclamar\
Client name: XPTO18\
Catalogo de Vendas\
Lista de promocoes\
Estou a reclamar\
Client name: XPTO19\
Catalogo de Vendas\
Lista de promocoes\
Estou a reclamar\
Client name: XPTO20\
Catalogo de Vendas\
Lista de promocoes\
Estou a reclamar\
Client name: XPTO21\
Catalogo de Vendas\
Lista de promocoes\
Estou a reclamar\
Client name: XPTO0\
Catalogo de Vendas\
Lista de promocoes\
Estou a reclamar\
Client name: XPTO1\
Catalogo de Vendas\
Lista de promocoes\
Estou a reclamar\
Client name: XPTO2\
Catalogo de Vendas\
Lista de promocoes\
Estou a reclamar\
Complains = 22, Profit = 307.5, Sales = 22\
Joaos-MacBook-Pro:47-ist186973-ist187719 joao$ less Shop.java \
Joaos-MacBook-Pro:47-ist186973-ist187719 joao$ less Client.java \
Joaos-MacBook-Pro:47-ist186973-ist187719 joao$ less Vip.java \
Joaos-MacBook-Pro:47-ist186973-ist187719 joao$ cd ../\
16-ist187672-ist187705/ 47-ist186973-ist187719/ 57-ist165951-ist170641/ 73-ist187533-ist187555/ 77/\
19-ist187641-ist187691/ 48-ist187698-ist187704/ 58-ist181918-ist187553/ 74-ist187673-ist187692/ \
Joaos-MacBook-Pro:47-ist186973-ist187719 joao$ cd ../48-ist187698-ist187704/\
Joaos-MacBook-Pro:48-ist187698-ist187704 joao$ !ja\
java po.ep6.Shop\
Error: Could not find or load main class po.ep6.Shop\
Joaos-MacBook-Pro:48-ist187698-ist187704 joao$ !jar\
jar xf ep6.jar \
Joaos-MacBook-Pro:48-ist187698-ist187704 joao$ javac *.java; java Loja\
XPTO4\
Catalogo de Vendas\
Estou a reclamar\
XPTO5\
Catalogo de Vendas\
Estou a reclamar\
XPTO6\
Catalogo de Vendas\
Estou a reclamar\
XPTO7\
Catalogo de Vendas\
Estou a reclamar\
XPTO8\
Catalogo de Vendas\
Estou a reclamar\
XPTO9\
Catalogo de Vendas\
Estou a reclamar\
XPTO10\
Catalogo de Vendas\
Estou a reclamar\
XPTO11\
Catalogo de Vendas\
Lista de promocoes\
Estou a reclamar\
XPTO12\
Catalogo de Vendas\
Lista de promocoes\
Estou a reclamar\
XPTO13\
Catalogo de Vendas\
Lista de promocoes\
Estou a reclamar\
XPTO14\
Catalogo de Vendas\
Lista de promocoes\
Estou a reclamar\
XPTO15\
Catalogo de Vendas\
Lista de promocoes\
Estou a reclamar\
XPTO16\
Catalogo de Vendas\
Lista de promocoes\
Estou a reclamar\
XPTO17\
Catalogo de Vendas\
Lista de promocoes\
Estou a reclamar\
XPTO18\
Catalogo de Vendas\
Lista de promocoes\
Estou a reclamar\
XPTO19\
Catalogo de Vendas\
Lista de promocoes\
Estou a reclamar\
XPTO20\
Catalogo de Vendas\
Lista de promocoes\
Estou a reclamar\
XPTO21\
Catalogo de Vendas\
Lista de promocoes\
Estou a reclamar\
XPTO22\
Catalogo de Vendas\
Lista de promocoes\
Estou a reclamar\
XPTO23\
Catalogo de Vendas\
Lista de promocoes\
Estou a reclamar\
XPTO24\
Catalogo de Vendas\
Lista de promocoes\
Estou a reclamar\
XPTO25\
Catalogo de Vendas\
Lista de promocoes\
Estou a reclamar\
Joaos-MacBook-Pro:48-ist187698-ist187704 joao$ less Loja.java \
Joaos-MacBook-Pro:48-ist187698-ist187704 joao$ less Cliente.\
Cliente.class Cliente.java \
Joaos-MacBook-Pro:48-ist187698-ist187704 joao$ less Cliente.java \
Joaos-MacBook-Pro:48-ist187698-ist187704 joao$ less ClienteVip.java \
Joaos-MacBook-Pro:48-ist187698-ist187704 joao$ cd ../\
16-ist187672-ist187705/ 47-ist186973-ist187719/ 57-ist165951-ist170641/ 73-ist187533-ist187555/ 77/\
19-ist187641-ist187691/ 48-ist187698-ist187704/ 58-ist181918-ist187553/ 74-ist187673-ist187692/ \
Joaos-MacBook-Pro:48-ist187698-ist187704 joao$ cd ../57-ist165951-ist170641/\
Joaos-MacBook-Pro:57-ist165951-ist170641 joao$ !jar ; !javac\
jar xf ep6.jar ; javac *.java; java Loja\
XPTO13\
Catalogo de Vendas\
Estou a reclamar\
XPTO14\
Catalogo de Vendas\
Estou a reclamar\
XPTO15\
Catalogo de Vendas\
Estou a reclamar\
XPTO16\
Catalogo de Vendas\
Estou a reclamar\
XPTO17\
Catalogo de Vendas\
Estou a reclamar\
XPTO18\
Catalogo de Vendas\
Estou a reclamar\
XPTO19\
Catalogo de Vendas\
Estou a reclamar\
XPTO20\
Catalogo de Vendas\
Lista de promocoes\
Estou a reclamar\
XPTO21\
Catalogo de Vendas\
Lista de promocoes\
Estou a reclamar\
XPTO0\
Catalogo de Vendas\
Lista de promocoes\
Estou a reclamar\
XPTO1\
Catalogo de Vendas\
Lista de promocoes\
Estou a reclamar\
XPTO2\
Catalogo de Vendas\
Lista de promocoes\
Estou a reclamar\
XPTO3\
Catalogo de Vendas\
Lista de promocoes\
Estou a reclamar\
XPTO4\
Catalogo de Vendas\
Lista de promocoes\
Estou a reclamar\
XPTO5\
Catalogo de Vendas\
Lista de promocoes\
Estou a reclamar\
XPTO6\
Catalogo de Vendas\
Lista de promocoes\
Estou a reclamar\
XPTO7\
Catalogo de Vendas\
Lista de promocoes\
Estou a reclamar\
XPTO8\
Catalogo de Vendas\
Lista de promocoes\
Estou a reclamar\
XPTO9\
Catalogo de Vendas\
Lista de promocoes\
Estou a reclamar\
XPTO10\
Catalogo de Vendas\
Lista de promocoes\
Estou a reclamar\
XPTO11\
Catalogo de Vendas\
Lista de promocoes\
Estou a reclamar\
XPTO12\
Catalogo de Vendas\
Lista de promocoes\
Estou a reclamar\
Joaos-MacBook-Pro:57-ist165951-ist170641 joao$ less Loja.java \
Joaos-MacBook-Pro:57-ist165951-ist170641 joao$ less Cliente.java \
Joaos-MacBook-Pro:57-ist165951-ist170641 joao$ less ClienteVip.java \
Joaos-MacBook-Pro:57-ist165951-ist170641 joao$ less Cliente.java \
Joaos-MacBook-Pro:57-ist165951-ist170641 joao$ less ClienteVip.java \
Joaos-MacBook-Pro:57-ist165951-ist170641 joao$ cd ../\
16-ist187672-ist187705/ 47-ist186973-ist187719/ 57-ist165951-ist170641/ 73-ist187533-ist187555/ 77/\
19-ist187641-ist187691/ 48-ist187698-ist187704/ 58-ist181918-ist187553/ 74-ist187673-ist187692/ \
Joaos-MacBook-Pro:57-ist165951-ist170641 joao$ cd ../73-ist187533-ist187555/\
Joaos-MacBook-Pro:73-ist187533-ist187555 joao$ jar xf ep6.jar ; javac *.java; java Loja\
XPTO7\
Estou a reclamar\
XPTO8\
Estou a reclamar\
XPTO9\
Estou a reclamar\
XPTO10\
Estou a reclamar\
XPTO11\
Estou a reclamar\
XPTO12\
Estou a reclamar\
XPTO13\
Estou a reclamar\
XPTO14\
Catalogo de VendasLista de promocoes\
Estou a reclamar\
XPTO15\
Catalogo de VendasLista de promocoes\
Estou a reclamar\
XPTO16\
Catalogo de VendasLista de promocoes\
Estou a reclamar\
XPTO17\
Catalogo de VendasLista de promocoes\
Estou a reclamar\
XPTO18\
Catalogo de VendasLista de promocoes\
Estou a reclamar\
XPTO19\
Catalogo de VendasLista de promocoes\
Estou a reclamar\
XPTO20\
Catalogo de VendasLista de promocoes\
Estou a reclamar\
XPTO21\
Catalogo de VendasLista de promocoes\
Estou a reclamar\
XPTO22\
Catalogo de VendasLista de promocoes\
Estou a reclamar\
XPTO23\
Catalogo de VendasLista de promocoes\
Estou a reclamar\
XPTO24\
Catalogo de VendasLista de promocoes\
Estou a reclamar\
XPTO25\
Catalogo de VendasLista de promocoes\
Estou a reclamar\
XPTO26\
Catalogo de VendasLista de promocoes\
Estou a reclamar\
XPTO27\
Catalogo de VendasLista de promocoes\
Estou a reclamar\
XPTO28\
Catalogo de VendasLista de promocoes\
Estou a reclamar\
Joaos-MacBook-Pro:73-ist187533-ist187555 joao$ less Loja.java \
Joaos-MacBook-Pro:73-ist187533-ist187555 joao$ less Cliente.java \
Joaos-MacBook-Pro:73-ist187533-ist187555 joao$ less ClienteVip.java \
Joaos-MacBook-Pro:73-ist187533-ist187555 joao$ less Cliente.java \
Joaos-MacBook-Pro:73-ist187533-ist187555 joao$ less ClienteVip.java \
Joaos-MacBook-Pro:73-ist187533-ist187555 joao$ cd ../74-ist187673-ist187692/\
Joaos-MacBook-Pro:74-ist187673-ist187692 joao$ jar xf ep6.jar ; javac *.java; java Loja\
Loja.java:71: error: constructor ClienteVip in class ClienteVip cannot be applied to given types;\
ClienteVip clienteVip = new ClienteVip(nome);\
^\
required: no arguments\
found: String\
reason: actual and formal argument lists differ in length\
Loja.java:80: error: array required, but ArrayList<Cliente> found\
System.out.println(clientes[iter].obtemNome());\
^\
Loja.java:81: error: array required, but ArrayList<Cliente> found\
clientes[iter].reclama();\
^\
Loja.java:82: error: array required, but ArrayList<Cliente> found\
clientes[iter].compraProduto(15.0);\
^\
Loja.java:87: error: array required, but ArrayList<ClienteVip> found\
System.out.println(clientesVip[iter].obtemNome());\
^\
Loja.java:88: error: array required, but ArrayList<ClienteVip> found\
clientesVip[iter].reclama();\
^\
Loja.java:89: error: array required, but ArrayList<ClienteVip> found\
clientesVip[iter].compraProduto(15.0);\
^\
ClienteVip.java:1: error: constructor Cliente in class Cliente cannot be applied to given types;\
public class ClienteVip extends Cliente \{\
^\
required: String\
found: no arguments\
reason: actual and formal argument lists differ in length\
ClienteVip.java:9: error: call to super must be first statement in constructor\
super(nome);\
^\
9 errors\
Error: Could not find or load main class Loja\
Joaos-MacBook-Pro:74-ist187673-ist187692 joao$ less Loja.java \
Joaos-MacBook-Pro:74-ist187673-ist187692 joao$ less Cliente.java \
Joaos-MacBook-Pro:74-ist187673-ist187692 joao$ less ClienteVip.java \
Joaos-MacBook-Pro:74-ist187673-ist187692 joao$ less Cliente.java \
Joaos-MacBook-Pro:74-ist187673-ist187692 joao$ cd ../77/\
Joaos-MacBook-Pro:77 joao$ jar xf ep6.jar ; javac *.java; java Loja\
XPTO3\
Catalogo de Vendas\
XPTO4\
Catalogo de Vendas\
XPTO5\
Catalogo de Vendas\
XPTO6\
Catalogo de Vendas\
XPTO7\
Catalogo de Vendas\
XPTO8\
Catalogo de Vendas\
XPTO9\
Catalogo de Vendas\
XPTO10\
Catalogo de Vendas\
Lista de Promocoes\
XPTO11\
Catalogo de Vendas\
Lista de Promocoes\
XPTO12\
Catalogo de Vendas\
Lista de Promocoes\
XPTO13\
Catalogo de Vendas\
Lista de Promocoes\
XPTO14\
Catalogo de Vendas\
Lista de Promocoes\
XPTO15\
Catalogo de Vendas\
Lista de Promocoes\
XPTO16\
Catalogo de Vendas\
Lista de Promocoes\
XPTO17\
Catalogo de Vendas\
Lista de Promocoes\
XPTO18\
Catalogo de Vendas\
Lista de Promocoes\
XPTO19\
Catalogo de Vendas\
Lista de Promocoes\
XPTO20\
Catalogo de Vendas\
Lista de Promocoes\
XPTO21\
Catalogo de Vendas\
Lista de Promocoes\
XPTO22\
Catalogo de Vendas\
Lista de Promocoes\
XPTO23\
Catalogo de Vendas\
Lista de Promocoes\
XPTO24\
Catalogo de Vendas\
Lista de Promocoes\
Joaos-MacBook-Pro:77 joao$ less Loja.java \
Joaos-MacBook-Pro:77 joao$ less Cliente*.java\
Joaos-MacBook-Pro:77 joao$ less Cliente*.java\
Joaos-MacBook-Pro:77 joao$ env\
TERM_PROGRAM=Apple_Terminal\
TERM=xterm-256color\
SHELL=/bin/bash\
COPYFILE_DISABLE=\
TMPDIR=/var/folders/1n/30cm9bc15kl_hqjn0tkp9t1c0000gn/T/\
Apple_PubSub_Socket_Render=/private/tmp/com.apple.launchd.NvWuvURimk/Render\
TERM_PROGRAM_VERSION=388.1.1\
OLDPWD=/Users/joao/Dropbox/Cadeiras/PO2017/EP_Entregues/EP6/74-ist187673-ist187692\
TERM_SESSION_ID=425E0C43-CA2E-46BE-8064-550E5213F2D8\
LC_ALL=pt_PT.UTF-8\
ANT_HOME=/Users/joao/bin/apache-ant-1.9.4\
USER=joao\
SSH_AUTH_SOCK=/private/tmp/com.apple.launchd.6CwIE9krpX/Listeners\
__CF_USER_TEXT_ENCODING=0x1F5:0x0:0x0\
PATH=/opt/local/bin:/opt/local/sbin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin\
PWD=/Users/joao/Dropbox/Cadeiras/PO2017/EP_Entregues/EP6/77\
JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_05.jdk/Contents/Home\
XPC_FLAGS=0x0\
XPC_SERVICE_NAME=0\
HOME=/Users/joao\
SHLVL=1\
LOGNAME=joao\
LC_CTYPE=UTF-8\
DISPLAY=/private/tmp/com.apple.launchd.wvxM8pV9iP/org.macports:0\
SECURITYSESSIONID=186a6\
_=/usr/bin/env\
Joaos-MacBook-Pro:77 joao$ \
Joaos-MacBook-Pro:77 joao$ open ../../\
EP.txt EP3/ EP4/ EP6/ mine.sh \
Joaos-MacBook-Pro:77 joao$ open ../../../\
AP/ Padr\'f5esExemplos.txt\
B.java Perguntas.txt\
Book- Java Puzzlers .pdf Puzzles.txt\
EP/ evaluation/\
EP_Entregues/ examples/\
Java_Exam_Preparation_Model_Test-2.docx projecto/\
Java_Exam_Preparation_Model_Test.docx puzzle 1.pdf\
Java_Exam_Preparation_Pactice_Test_-_MCQ.doc resposta.txt\
Java_Exam_Preparation_Practice_Test_-_1.docx resposta_2exame.txt\
Java_Exam_Preparation_Practice_Test_-_2.docx resposta_3exame.txt\
Joaos-MacBook-Pro:77 joao$ open ~/Dropbox/Cadeiras/PO2016/PO_Slides/\
01 - Classes e Objectos.pdf 05-ch3-decisions.ppt CH13StreamIO.ppt\
01-Classes And Objects.pptx 06 - Interfaces.pdf Composition.pptx\
01-intro.ppt 06 - Interfaces.pptx DesignPatterns.pdf\
02 - Composi\'e7\'e3o.pdf 06-ch4-iteration.ppt Exerc\'edcios_Aula_Te\'f3rica_9.pptx\
02 - Testing Framework TestNG.pdf 08 - Exceptions in Java.pdf Lecture 7+8a 4_up.pdf\
02-ch1-background.ppt 08 - Exceptions in Java.pptx Lecture 8b 4_up.pdf\
03 - Inheritance.pdf 08-ch6-classes.ppt Lecture12 4_up.pdf\
03 - Inheritance.pptx 09 - Java IO.ppt Lecture13-CreatingObj 4_up.pdf\
03-ch2-java-basics.ppt 09-ch8-arrays.ppt Lecture15-Iterator&Vis 4_up.pdf\
04 - UML Class Diagram.pdf 10 - Design Patterns.pdf NullObject.pptx\
04 - UML Class Diagram.pptx 10-ch11-inheritance.ppt old/\
05 - packages.pdf 12 - SequenceDiagrams.pdf ~$01-intro.ppt\
05 - packages.pptx Adapter.pptx ~$NullObject.pptx\
Joaos-MacBook-Pro:77 joao$ open ~/Dropbox/Cadeiras/PO2016/PO_Slides/09\\ -\\ Java\\ IO.ppt \
Joaos-MacBook-Pro:77 joao$ pwd\
/Users/joao/Dropbox/Cadeiras/PO2017/EP_Entregues/EP6/77\
Joaos-MacBook-Pro:77 joao$ less\
Missing filename ("less --help" for help)\
Joaos-MacBook-Pro:77 joao$ ls -al\
total 56\
drwxr-xr-x@ 10 joao staff 340 23 Out 21:59 .\
drwx------@ 11 joao staff 374 23 Out 10:20 ..\
-rw-r--r--@ 1 joao staff 666 23 Out 21:59 Cliente.class\
-rw-r--r--@ 1 joao staff 516 16 Out 11:46 Cliente.java\
-rw-r--r--@ 1 joao staff 740 23 Out 21:59 ClienteVip.class\
-rw-r--r--@ 1 joao staff 554 16 Out 11:52 ClienteVip.java\
-rw-r--r--@ 1 joao staff 1547 23 Out 21:59 Loja.class\
-rw-r--r--@ 1 joao staff 1174 16 Out 11:57 Loja.java\
drwxr-xr-x@ 3 joao staff 102 16 Out 11:58 META-INF\
-rw-r--r--@ 1 joao staff 1640 23 Out 10:20 ep6.jar\
Joaos-MacBook-Pro:77 joao$ cd ..\
Joaos-MacBook-Pro:EP6 joao$ cd ..\
Joaos-MacBook-Pro:EP_Entregues joao$ pwd\
/Users/joao/Dropbox/Cadeiras/PO2017/EP_Entregues\
Joaos-MacBook-Pro:EP_Entregues joao$ cd ..\
Joaos-MacBook-Pro:PO2017 joao$ ls -al\
total 90536\
drwxr-xr-x@ 22 joao staff 748 20 Out 17:38 .\
drwxr-xr-x@ 26 joao staff 884 14 Out 17:29 ..\
drwxr-xr-x@ 5 joao staff 170 8 Out 23:12 AP\
-rw-r--r--@ 1 joao staff 6127 29 Dez 2015 B.java\
-rw-r--r--@ 1 joao staff 45343805 14 Out 16:33 Book- Java Puzzlers .pdf\
drwxr-xr-x@ 8 joao staff 272 9 Out 15:45 EP\
drwxr-xr-x@ 7 joao staff 238 23 Out 22:01 EP_Entregues\
-rw-r--r--@ 1 joao staff 33459 27 Nov 2014 Java_Exam_Preparation_Model_Test-2.docx\
-rw-r--r--@ 1 joao staff 33459 27 Nov 2014 Java_Exam_Preparation_Model_Test.docx\
-rw-r--r--@ 1 joao staff 119808 27 Nov 2014 Java_Exam_Preparation_Pactice_Test_-_MCQ.doc\
-rw-r--r--@ 1 joao staff 36071 27 Nov 2014 Java_Exam_Preparation_Practice_Test_-_1.docx\
-rw-r--r--@ 1 joao staff 22485 27 Nov 2014 Java_Exam_Preparation_Practice_Test_-_2.docx\
-rw-r--r--@ 1 joao staff 2315 7 Fev 2017 Padr\'f5esExemplos.txt\
-rw-r--r--@ 1 joao staff 1423 23 Mai 2014 Perguntas.txt\
-rw-r--r--@ 1 joao staff 13500 30 Mar 2017 Puzzles.txt\
drwxr-xr-x@ 5 joao staff 170 31 Jan 2017 evaluation\
drwxr-xr-x@ 2 joao staff 68 31 Jan 2017 examples\
drwxr-xr-x@ 10 joao staff 340 16 Out 22:01 projecto\
-rw-r--r--@ 1 joao staff 693188 30 Mar 2017 puzzle 1.pdf\
-rw-r--r--@ 1 joao staff 5634 12 Jun 2015 resposta.txt\
-rw-r--r--@ 1 joao staff 4231 3 Jul 2015 resposta_2exame.txt\
-rw-r--r--@ 1 joao staff 3206 21 Jul 2015 resposta_3exame.txt\
Joaos-MacBook-Pro:PO2017 joao$ cd AP/\
Joaos-MacBook-Pro:AP joao$ ls -al\
total 16\
drwxr-xr-x@ 5 joao staff 170 8 Out 23:12 .\
drwxr-xr-x@ 22 joao staff 748 20 Out 17:38 ..\
drwxr-xr-x@ 3 joao staff 102 6 Out 17:43 editor-comPackages\
drwxr-xr-x@ 9 joao staff 306 8 Out 23:11 editor-semPackages\
-rw-r--r--@ 1 joao staff 4650 8 Out 23:12 editor.jar\
Joaos-MacBook-Pro:AP joao$ mkdir AP4\
Joaos-MacBook-Pro:AP joao$ mv editor.jar editor-semPackages AP4\
Joaos-MacBook-Pro:AP joao$ mkdir AP6\
Joaos-MacBook-Pro:AP joao$ mv editor-comPackages AP6/\
Joaos-MacBook-Pro:AP joao$ cd AP6\
Joaos-MacBook-Pro:AP6 joao$ ls -al\
total 0\
drwxr-xr-x@ 3 joao staff 102 25 Out 11:24 .\
drwxr-xr-x@ 4 joao staff 136 25 Out 11:24 ..\
drwxr-xr-x@ 3 joao staff 102 6 Out 17:43 editor-comPackages\
Joaos-MacBook-Pro:AP6 joao$ ls -al editor-comPackages/\
total 0\
drwxr-xr-x@ 3 joao staff 102 6 Out 17:43 .\
drwxr-xr-x@ 3 joao staff 102 25 Out 11:24 ..\
drwxr-xr-x@ 5 joao staff 170 9 Out 17:19 editor\
Joaos-MacBook-Pro:AP6 joao$ mv editor-comPackages/editor .\
Joaos-MacBook-Pro:AP6 joao$ rm -rf editor-comPackages/\
Joaos-MacBook-Pro:AP6 joao$ cd editor/\
Joaos-MacBook-Pro:editor joao$ ls -al\
total 8\
drwxr-xr-x@ 5 joao staff 170 9 Out 17:19 .\
drwxr-xr-x@ 3 joao staff 102 25 Out 11:25 ..\
-rw-r--r--@ 1 joao staff 638 9 Out 17:19 Test.java\
drwxr-xr-x@ 20 joao staff 680 20 Out 18:35 core\
drwxr-xr-x@ 9 joao staff 306 6 Out 17:43 menu\
Joaos-MacBook-Pro:editor joao$ ls -al menu/\
EditorMenu.class MenuEntries.class NoSuchFormException.class commands/ \
EditorMenu.java MenuEntries.java NoSuchFormException.java \
Joaos-MacBook-Pro:editor joao$ cd ..\
Joaos-MacBook-Pro:AP6 joao$ cd ..\
Joaos-MacBook-Pro:AP joao$ mkdir AP7\
Joaos-MacBook-Pro:AP joao$ cp -r AP6/editor AP7/\
Joaos-MacBook-Pro:AP joao$ cd AP6/\
Joaos-MacBook-Pro:AP6 joao$ ls -al\
total 0\
drwxr-xr-x@ 3 joao staff 102 25 Out 11:25 .\
drwxr-xr-x@ 5 joao staff 170 25 Out 11:25 ..\
drwxr-xr-x@ 5 joao staff 170 9 Out 17:19 editor\
Joaos-MacBook-Pro:AP6 joao$ cd editor/\
Joaos-MacBook-Pro:editor joao$ ls -al\
total 8\
drwxr-xr-x@ 5 joao staff 170 9 Out 17:19 .\
drwxr-xr-x@ 3 joao staff 102 25 Out 11:25 ..\
-rw-r--r--@ 1 joao staff 638 9 Out 17:19 Test.java\
drwxr-xr-x@ 20 joao staff 680 20 Out 18:35 core\
drwxr-xr-x@ 9 joao staff 306 6 Out 17:43 menu\
Joaos-MacBook-Pro:editor joao$ \\rm -rf menu\
Joaos-MacBook-Pro:editor joao$ cd core/\
Joaos-MacBook-Pro:core joao$ ls -al\
total 176\
drwxr-xr-x@ 20 joao staff 680 20 Out 18:35 .\
drwxr-xr-x@ 4 joao staff 136 25 Out 11:26 ..\
-rw-r--r--@ 1 joao staff 821 9 Out 22:57 Circle.class\
-rw-r--r--@ 1 joao staff 1120 9 Out 17:17 Circle.java\
-rw-r--r--@ 1 joao staff 190 9 Out 22:57 Editor$1.class\
-rw-r--r--@ 1 joao staff 771 9 Out 22:57 Editor$ComparadorCreationTime.class\
-rw-r--r--@ 1 joao staff 2708 9 Out 22:57 Editor.class\
-rw-r--r--@ 1 joao staff 4862 9 Out 22:57 Editor.java\
-rw-r--r--@ 1 joao staff 227 10 Out 13:56 Employee.class\
-rw-r--r--@ 1 joao staff 412 10 Out 13:56 Employee.java\
-rw-r--r--@ 1 joao staff 791 9 Out 22:57 Form.class\
-rw-r--r--@ 1 joao staff 1597 9 Out 17:17 Form.java\
-rw-r--r--@ 1 joao staff 944 9 Out 22:57 Line.class\
-rw-r--r--@ 1 joao staff 1531 9 Out 17:17 Line.java\
-rw-r--r--@ 1 joao staff 752 10 Out 13:56 Manager.class\
-rw-r--r--@ 1 joao staff 868 9 Out 22:57 Point.class\
-rw-r--r--@ 1 joao staff 1333 6 Out 19:12 Point.java\
-rw-r--r--@ 1 joao staff 819 9 Out 22:57 Square.class\
-rw-r--r--@ 1 joao staff 1137 9 Out 17:18 Square.java\
-rw-r--r--@ 1 joao staff 12899 20 Out 18:35 text.txt\
Joaos-MacBook-Pro:core joao$ cat text.txt \
\
\
Solu\'e7\'e3o do EP5_3\
\
Classe Loja\
\
Atts:\
- N\'famero de vendas: int\
- VolumeVendas: double\
- reclama\'e7\'f5es: int\
\
M\'e9todos:\
+ Loja() (opcional\
+ obtemNumeroVendas(): void\
+ obtemVolumeVendas(): void\
+ obtemNumeroReclamacoe(): void\
+ registaVenda(valor:double): void\
+ registaReclamacao(): void\
\
Associa\'e7\'e3o com Cliente s\'f3 no sentido da loja\
\
Classe Cliente\
\
atts:\
- nome: String\
\
M\'e9todos:\
\
+ Cliente(Sting)\
+ consultaCatalogo(): void\
+ reclama(): void\
+ compraProduto(valor:double): void\
+ obtemNome(9: String\
\
rela\'e7\'e3o de heran\'e7a\
\
Classe ClienteVip\
\
atts:\
\
M\'e9todos:\
\
+ Cliente(Sting)\
+ consultaCatalogo(): void\
+ compraProduto(valor:double): void\
+ obtemPontos(): int\
\
Crit\'e9rios:\
\
Negativos:\
- 0.1 por classe em falta (0.3)\
- 0.2 pela associa\'e7\'e3o em falta\
- 0.1 pela associa\'e7\'e3o ser bidireccional\
- 0.1 pela heran\'e7a\
- 0.2 por indicar os m\'e9todos com os aegumentos, par\'e2metros e visibilidade correctos\
- 0.2 pelos atributos com visibilidade e tipo correctos\
\
Solu\'e7\'e3o EP4\
\
classe PortaLogica\
- abstract class: -0.1\
- atributos privados/protected: -0.1\
- ctor com argumentos: -0.1\
- m\'e9todos get/set: -0.1\
- m\'e9todo abstract computaResultado : -0.1\
- m\'e9todo escreveOperacao: -0.1\
- solu\'e7\'e3o para reutiliza\'e7\'e3o do escreveOperacao -0.1\
\
classe Derivada\
- extends PortaLogica: -0.1\
- sem atributos: -0.1\
- ctor com argumentos e chama super: -0.1\
- m\'e9todo computaResultado: -0.1\
\
\
\
O objectivo da aplica\'e7\'e3o \'e9 guardar uma s\'e9rie de inteiros inseridos pelo utilizador, sendo poss\'edvel realizar as seguintes opera\'e7\'f5es\
sobre esta lista de inteiros:\
- Acrescentar um novo n\'famero \'e0 s\'e9rie;\
- Remover um n\'famero da s\'e9rie;\
- Apresentar a lista de n\'fameros inseridos\
- Indicar o n\'famero de inteiros presente na s\'e9rie\
\
Concretiza\'e7\'e3o do Exemplo\
\
subsec\'e7\'e3o N\'facleo da Aplica\'e7\'e3o\
\
Neste exemplo simples precisamos apenas de ter uma classe que dever\'e1 ser capaz de guardar uma s\'e9rie de n\'fameros inteiros e permitir\
adicionar e removerum n\'famero \'e0 s\'e9rie e devolver a s\'e9rie de n\'fameros. Esta entidade est\'e1 concretizada na classes SerieInteiros.java\
\
package ex.core;\
\
/**\
* This class is the single core entity of this small example. It holds a list of int numbers.\
**/\
\
import java.util.List;\
import java.util.ArrayList;\
import java.util.Collections;\
\
public class IntegerManager \{\
private List<Integer> _numbers;\
\
public IntegerManager() \{\
_numbers = new ArrayList<>();\
\}\
\
public void addNumber(Integer n) \{\
_numbers.add(n);\
\}\
\
public boolean removeNumber(Integer n) \{\
return _numbers.remove(n);\
\}\
\
public List<Integer> getNumbers() \{\
return Collections.unmodifiableList(_numbers);\
\}\
\}\
\
Subsec\'e7\'e3o Concretiza\'e7\'e3o da Interac\'e7\'e3o com o Utilizador\
\
Tal como dito na introdu\'e7\'e3o, a interac\'e7\'e3o com o utilizador \'e9 concretizado utilizando as classes Menu, Form e Display e mais algumas classes auxiliares.\
\
A aplica\'e7\'e3o disponibiliza as opera\'e7\'f5es que o utilizador pode realizar atrav\'e9s de um ou mais menus, em que cada menu representa um conjunto de op\'e7\'f5es que o utilizador pode escolher para executar.\
Cada op\'e7\'e3o \'e9 concretizada por uma inst\'e2ncia da classes Command. A classe Command \'e9 uma classe abstracta e representa uma opera\'e7\'e3o gen\'e9rica que pode ser executada sobre uma dada entidade. Cada comando sabe o t\'edtulo da opera\'e7\'e3o que representa (\'e9 utilizado no menu). Esta classe abstracta define o m\'e9todo abstracto execute que executa a opera\'e7\'e3o.\
A funcionalidade espec\'edfica de cada op\'e7\'e3o (i.e., a opera\'e7\'e3o a realizar sobre o dom\'ednio da aplica\'e7\'e3o) \'e9 concretizada numa subclasse de Command a desenvolver pelo programador. \
\
A classe Menu recebe um vector de comandos e mostra os t\'edtulos destes comandos por forma a que os utilizadores saibam as opera\'e7\'f5es dispon\'edveis. Cabe ainda ao menu executar o comando correspondente \'e0 op\'e7\'e3o escolhida pelo utilizador. De um modo geral, s\'f3 se sai de um menu quando se escolhe a op\'e7\'e3o Sair. Caso se escolha outra op\'e7\'e3o que n\'e3o a Sair, ent\'e3o o menu executar\'e1 o comando correspondente \'e0 op\'e7\'e3o escolhida (por forma a realizar a funcionalidade associada \'e0 op\'e7\'e3o escolhida) e de seguida voltar\'e1 a apresentar o conjunto de op\'e7\'e3o do menu e pede ao utilizador para escolher uma nova op\'e7\'e3o. \
\
\
\'e9 utilizado no menu para indicar os t\'edtulos das opera\'e7\'f5es dispon\'edveis\
\
Decidiu-se apresentar as op\'e7\'f5es ao utilizador utilizando dois menus: o menu principal e o menu de edi\'e7\'e3o. O menu principal apresenta as op\'e7\'f5es:\
\
- apresentar a s\'e9rie de inteiros\
- indicar a quantidade de inteiros presente na s\'e9rie\
- Abrir o menu de edi\'e7\'e3o\
\
O menu de edi\'e7\'e3o apresenta as op\'e7\'f5es que permitem alterar a s\'e9rie de inteiros:\
- Acrescentar um inteiros \'e0 s\'e9rie\
- Remover um inteiro da s\'e9rie\
\
----------------Input e Form\
\
Para obter dados do utilizador, para definir pesquisas ou criar objectos, por exemplo, \'e9 necess\'e1rio criar um formul\'e1rio. Um formul\'e1rio \'e9 representado pela classe Form. Um formul\'e1rio agrupa diversos pedidos numa \'fanica interac\'e7\'e3o.\
\
Cada pedido \'e9 constitu\'eddo por uma cadeia de caracteres e guarda a resposta do utilizador. Relativamente \'e0 informa\'e7\'e3o pedida ao utilizador, s\'e3o suportados 4 tipos: inteiros, reais, boleanos e cadeias de caracteres. Os pedidos s\'e3o representados pela classe abstracta e gen\'e9rica Input<T>. Para cada pedido deve ser criada uma inst\'e2ncia de InputInteger, InputFloat, InputString ou InputString, dependendo do tipo de dados que o utilzador deve preencher. Cada uma destas classe tem um construtor com dois argumentos: a mensagem descritiva do pedido e a refer\'eancia para o formul\'e1rio onde deve ser integrado o pedido. Existe ainda um separador, designado por InputNone que n\'e3o pede qualquer valor.\
\
Para preencher um formul\'e1rio deve ser executado o m\'e9todo parse sobre o formul\'e1rio. A execu\'e7\'e3o deste m\'e9todo, processa os v\'e1rios pedidos do formul\'e1rio. Para cada pedido,o formul\'e1rio apresenta a mensagem associada ao pedido e l\'ea a resposta do utilizador, a qual \'e9 guardada no pedido. Ap\'f3s o formul\'e1rio ter sido prenchido pode-se aceder ao valor recolhido para cada pedido invocando o m\'e9todo value() sobre o pedido em causa. Note-se que s\'f3 faz sentido invocar o m\'e9todo value() sobre um pedido depois de ter sido executado o m\'e9todo parse sobre o formul\'e1rio que cont\'e9m o pedido em causa.\
\
O exemplo seguinte apresenta a cria\'e7\'e3o de um formul\'e1rio que realiza 4 pedidos de dados ao utilizador. \'c9 ainda utilizado um separador para separar os 2 primeiros pedidos dos restantes dois.\
Este exemplo apresenta novamente ao utilizador os dado, um por linha,s que ele preencheu no formol\'e1rio.\
\
dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd **/\
public class AddNumber extends Command<IntegerManager> \{\
\
/** Number to read. */\
private Input<Integer> _number;\
\
//Constructor\
public AddNumber(IntegerManager ent) \{\
super("Adicionar N\'famero", ent);\
_number = _form.addIntegerInput("Introduza um n\'famero: ");\
\}\
\
protected void execute() \{ // executed when this option is selected\
_form.parse();\
\
_receiver.addNumber(_number.value());\
\
_display.addLine("Number added: " + _number.value()).display();\
\}\
\}\
\
Dado que apenas \'e9 necess\'e1rio ler um inteiro, o formul\'e1rio apenas ir\'e1 conter um pedido do tipo InputInteger, o qual tem que ser criado e adicionado ao formul\'e1rio. Uma forma mais r\'e1pida especificar o c\'f3digo para criar o pedido e o associar ao formul\'e1rio \'e9 utilizar um dos v\'e1rios m\'e9todos add dispon\'edveis na classe Form. Existe um m\'e9todo add para cada tipo de dados a preencher pelo utilizador. No exemplo \'e9 utilizado o m\'e9todo addInputInteger, o qual recebe a mensagem a colocar no pedido e que ir\'e1 criar o pedido, associ\'e1-lo ao formul\'e1rio e devolver uma refer\'eancia para o pedido criado. Utilizando esta abordagem, o m\'e9todo execute do comando apenas ter\'e1 que invocar o m\'e9todo parse sobre o formul\'e1rio do comando e depois aceder ao valor inserido para cada pedido para realizar a funcionalidade pretendida\
\
\
Sum\'e1rios:\
\
3\'aa-feira (85, 17)\
\
Introdu\'e7\'e3o \'e0s classes gen\'e9ricas\
\
Colec\'e7\'f5es:\
- A hierarquia de colecc\'e7\'f5es em Java: Collection, List, Set, SortedSet e Map e SortedMap\
- M\'e9todos principais das colec\'e7\'f5es\
- equals e hashCode para HashSet e HashMap\
- Caracteristicas principais de ArrayList, LinkedList, HashSet, TreeSet, HashMap e TreeMap\
- Itera\'e7\'e3o de colec\'e7\'f5es usando o ciclo for-each\
\
5\'aa-feira (28, 70)\
\
Colec\'e7\'f5es\
- Itera\'e7\'e3o de colec\'e7\'f5es utilizando Iterator:\
- Ordena\'e7\'e3o natural e comparadores\
- Collections.sort e Arrays.sort\
\
Tratamento de erros em Java:\
- Separa\'e7\'e3o do c\'f3digo "normal" do c\'f3digo de tratamento de excep\'e7\'f5es\
- A hierarquia de Throwable: Exception, Error e RuntimeException\
- Excep\'e7\'f5es checked e non-checked\
- Lan\'e7ar, apanhar e declarar uma excp\'e7\'e3o\
- O bloco finally\
- M\'e9todos importantes de Exception\
- Excep\'e7\'f5es encadeadas\
- Cria\'e7\'e3o de excep\'e7\'f5es espec\'edficas\
Joaos-MacBook-Pro:core joao$ \
Joaos-MacBook-Pro:core joao$ less text.txt \
Joaos-MacBook-Pro:core joao$ rm !$\
rm text.txt\
Joaos-MacBook-Pro:core joao$ ls -al\
total 144\
drwxr-xr-x@ 19 joao staff 646 25 Out 11:27 .\
drwxr-xr-x@ 4 joao staff 136 25 Out 11:26 ..\
-rw-r--r--@ 1 joao staff 821 9 Out 22:57 Circle.class\
-rw-r--r--@ 1 joao staff 1120 9 Out 17:17 Circle.java\
-rw-r--r--@ 1 joao staff 190 9 Out 22:57 Editor$1.class\
-rw-r--r--@ 1 joao staff 771 9 Out 22:57 Editor$ComparadorCreationTime.class\
-rw-r--r--@ 1 joao staff 2708 9 Out 22:57 Editor.class\
-rw-r--r--@ 1 joao staff 4862 9 Out 22:57 Editor.java\
-rw-r--r--@ 1 joao staff 227 10 Out 13:56 Employee.class\
-rw-r--r--@ 1 joao staff 412 10 Out 13:56 Employee.java\
-rw-r--r--@ 1 joao staff 791 9 Out 22:57 Form.class\
-rw-r--r--@ 1 joao staff 1597 9 Out 17:17 Form.java\
-rw-r--r--@ 1 joao staff 944 9 Out 22:57 Line.class\
-rw-r--r--@ 1 joao staff 1531 9 Out 17:17 Line.java\
-rw-r--r--@ 1 joao staff 752 10 Out 13:56 Manager.class\
-rw-r--r--@ 1 joao staff 868 9 Out 22:57 Point.class\
-rw-r--r--@ 1 joao staff 1333 6 Out 19:12 Point.java\
-rw-r--r--@ 1 joao staff 819 9 Out 22:57 Square.class\
-rw-r--r--@ 1 joao staff 1137 9 Out 17:18 Square.java\
Joaos-MacBook-Pro:core joao$ less Circle.java Form.java \
Joaos-MacBook-Pro:core joao$ less Circle.java Form.java \
Joaos-MacBook-Pro:core joao$ diff Form.java ../../../AP4/editor\
editor-semPackages/ editor.jar \
Joaos-MacBook-Pro:core joao$ diff Form.java ../../../AP4/editor-semPackages/\
Circle.java Editor.java Form.java Line.java Point.java Square.java Test.java \
Joaos-MacBook-Pro:core joao$ diff Form.java ../../../AP4/editor-semPackages/Form.java \
1,2d0\
< package editor.core;\
< \
Joaos-MacBook-Pro:core joao$ diff Line.java ../../../AP4/editor-semPackages/\
1,2d0\
< package editor.core;\
< \
Joaos-MacBook-Pro:core joao$ diff Square.java ../../../AP4/editor-semPackages/\
1,2d0\
< package editor.core;\
< \
Joaos-MacBook-Pro:core joao$ diff Circle.java ../../../AP4/editor-semPackages/\
1,2d0\