Частина тексту файла (без зображень, графіків і формул):
МІНІСТЕРСТВО ОСВІТИ ТА НАУКИ УКРАЇНИ
НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ “ЛЬВІВСЬКА ПОЛІТЕХНІКА”
Прості структури даних у in Java. Класи-оболонки, класи колекції, класи утиліти
МЕТА РОБОТИ
Одержати навики побудови алгоритмів лінійних обчислювальних процесів, навчитися складати алгоритми та програмувати процеси з розгалуженням, циклами, ітераційними циклами за допомогою мови Java. Одержати навички роботи із масивами.
Індивідуальне завдання
Дано файл, що містить відомості про іграшки, указується назва іграшки (лялька, кубики, м'яч, конструктор), її вартість у копійках і вікові межі дітей, для яких іграшка призначена (наприклад, для дітей від двох до п'яти років). Крім того, для ляльки зазначено її розмір у сантиметрах, для кубиків — їхня кількість у наборі, для м'яча — його вага у грамах, для конструктора — кількість конструкцій, які з нього можна збудувати згідно інструкції. Перелік конструкторів у порядку зростання ціни. (Ціну виводити за зразком …грн…коп).
Код програми на мові Java
public class toy{ public String name; public int var; public int maxvik,minvik; public int additional; toy() { name = "\0"; var = 0; minvik=0; maxvik = 0; additional = 0; } public void setName(String Name) { name = Name; } public String getName() { return name; } public void setVar(int Var) { var = Var; } public int getVar() { return var; } public void setminVik(int Vik1) { minvik = Vik1; } public void setmaxVik(int Vik1) { maxvik=Vik1; } public int getVik() { return maxvik; } public void setadditional(int dod) { additional = dod; } public int getadditional() { return additional; }}
import java.io.File;import java.io.FileReader;import java.io.IOException;import java.io.StreamTokenizer;import java.util.Vector;public class lab7{ private Vector<toy> vc = new Vector<toy>(); public void add() throws IOException { File f = new File("D:\\T.txt"); StreamTokenizer st = new StreamTokenizer(new FileReader(f)); while (st.nextToken() != StreamTokenizer.TT_EOF) { toy t = new toy(); t.setName(st.sval); st.nextToken(); t.setVar((int) st.nval); st.nextToken(); t.setminVik((int) st.nval); st.nextToken(); t.setmaxVik((int) st.nval); st.nextToken(); t.setadditional((int) st.nval); vc.add(t); } } public void GO() { Vector<toy> vc1 = new Vector<toy>(); toy R = new toy(); for (int i = 0; i < vc.size(); i++) { if (vc.get(i).name.startsWith("constr")) { vc1.add(vc.get(i)); } } for (int q = 0; q < vc1.size(); q++) { for (int i = 1; i < vc1.size(); i++) { if (vc1.get(i).var < vc1.get(i - 1).var) { R = vc1.get(i); vc1.remove(i); vc1.add(i, vc1.get(i - 1)); vc1.remove(i - 1); vc1.add((i - 1), R); } } } for (int i = 0; i < vc1.size(); i++) { System.out.println("Конструктор " + i + " :" + vc1.get(i).name + " ціна: " + (vc1.get(i).var) / 100 + "грн." + (vc1.get(i).var) % 100 + "коп."); } } public static void main(String[] args) { lab7 obj = new lab7(); try { obj.add(); } catch (IOException ce) { System.out.println("помилка призчитуванні даних з файлу"); } obj.GO(); }}
Результат виконання програми
Вміст файлу:
cube2 400 1 5 33
doll1 1200 1 13 50
cube1 500 1 6 40
ball1 30000 6 80 100
constr1 20220 4 5 3
constr2 44000 6 13 7
ball2 20000 6 14 150
constr3 35160 7 15 5
Консоль:
Конструктор 0 :constr1 ціна: 202грн.20коп.
Конструктор 1 :constr3 ціна: 351грн.60коп.
Конструктор 2 :constr2 ціна: 440грн.0коп.
Висновок: в даній лабораторній роботі я одержав навики побудови алгоритмів лінійних обчислювальних процесів, навчився складати алгоритми та програмувати процеси з розгалуженням, циклами, ітераційними циклами за допомогою мови Java. Одержав навички роботи із масивами.