Частина тексту файла (без зображень, графіків і формул):
МІНІСТЕРСТВО ОСВІТИ ТА НАУКИ УКРАЇНИ
НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ “ЛЬВІВСЬКА ПОЛІТЕХНІКА”
Прості структури даних у 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. Одержав навички роботи із масивами.
Ви не можете залишити коментар. Для цього, будь ласка, увійдіть
або зареєструйтесь.
Ділись своїми роботами та отримуй миттєві бонуси!
Маєш корисні навчальні матеріали, які припадають пилом на твоєму комп'ютері? Розрахункові, лабораторні, практичні чи контрольні роботи — завантажуй їх прямо зараз і одразу отримуй бали на свій рахунок! Заархівуй всі файли в один .zip (до 100 МБ) або завантажуй кожен файл окремо. Внесок у спільноту – це легкий спосіб допомогти іншим та отримати додаткові можливості на сайті. Твої старі роботи можуть приносити тобі нові нагороди!