• Cont a ins the m a in(String[] a rgs) method. • Expects the folder p a th a s a comm a nd-line a rgument. • C a lling object: f ileH a ndler.re a dFileN a mes(folderP a th) to get f ile n a mes. • C a lling object: bo a rdM a n a ger.cre a teBo a rd( f ileN a mes) to gener a te the bo a rd l a yout. 24
folder. • Cont a ins a method re a dFileN a mes(String folderP a th) th a t: (1) Re a ds a ll non-directory f ile n a mes in the speci f ied folder; (2) Returns a n a rr a y of strings with the n a mes. 25
rd a nd its l a yout. • H a s a n Arr a yList<Squ a re> to store squ a res. • The cre a teBo a rd(String[] f ileN a mes) method: (1) Cre a tes one Squ a re per f ile n a me; (2) C a lcul a tes the optim a l number of columns a nd rows to f it a ll squ a res in a l a yout close to a squ a re (e.g., 5×4 for 18 f iles, not 6×3). 26
bo a rd. • Stores: (1) The f ile n a me; (2) Position on the bo a rd (column a nd row); (3) A color, a ssign a color to e a ch f ile a ccording with some condition such a s size, d a te of cre a tion, or just r a ndom (for now). • H a s a method toString a s follows: @Override public String toString() { return String.format("(%d,%d) %s [%s]", row, col, fileName, color); } 27
(0,0) report.pdf [#3FA1E4] • (0,1) d a t a .csv [#FF5733] • (0,2) notes.txt [#A1FF33] • (0,3) im a ge.png [#33FFA8] • (0,4) di a gr a m.svg [#C70039] • (1,0) t a ble.xlsx [#9C27B0] • (1,1) summ a ry.docx [#F44336] • (1,2) Code.j a v a [#4CAF50] • (1,3) log.txt [#00BCD4] • (1,4) slide.pptx [#E91E63] • (2,0) resume.doc [#FF9800] • (2,1) gr a ph.jpg [#2196F3] • (2,2) re a dme.txt [#FFC107] • (2,3) con f ig.ini [#9E9E9E] • (2,4) README.md [#607D8B] • (3,0) m a in.cpp [#795548] • (3,1) LICENSE [#CDDC39] • (3,2) St a ts.j a v a [#009688] 28
E { public B() { C c1 = new C(); } public void method() { B b = new B(); b.sleep(); } } public class Y extends B { A [] a = new A[5]; } public class A extends B { C c1, c2; public A() { c1 = new C(); } public void method(D d) { d.working(); } } public class X { private String s; public void m() { B var = new A(); double x – Math.sqrt(5); } }
[email protected] Summer 2025 Copyright. These slides can only be used as study material for the class CSC305 at Cal Poly. They cannot be distributed or used for another purpose.