Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Исходный код программы на Java




Class JavaApplication5

/*

* To change this template, choose Tools | Templates

* and open the template in the editor.

*/

package javaapplication5;

import java.util.Scanner;

/**

*

* @author Лера

*/

public class JavaApplication5 {

 

/**

* @param args the command line arguments

*/

public static void main(String[] args) {

 

Scanner scan= new Scanner(System.in);

String vvod;

stanlist list = new stanlist();

 

do

{

System.out.println("\nВЕДОМОСТЬ УЧЕТА ВРЕМЕНИ РАБОТЫ СТАНКОВ ПРЕДПРИЯТИЯ\n");

System.out.println("Выберите желаемое действие:\n");

System.out.println("1 - вывести ведомость на экран\n");

System.out.println("2 - добавить запись\n");

System.out.println("3 - изменить запись\n");

System.out.println("0 - выход из программы\n");

 

vvod=scan.next();

switch (vvod)

{

case "1":

{

if (list.length() == 0)

{

System.out.println("Ведомость пуста. Добавьте первую запись.");

break;

}

 

else

{

list.print_tabl();

}

break;

}

 

case "2":

{

 

list.add_note();

 

break;

}

 

case "3":

{

if (list.length() == 0)

{

System.out.println("Ведомость пуста. Изменять нечего.");

break;

}

 

else

{

 

list.change_note();

}

break;

}

case "0":

{

break;

}

default:

{

System.out.println("Неправильно выбран пункт меню! Пожалуйста, попробуйте ещё раз! \n");

break;

}

}

}

while (vvod!= "0");

} }

Class stanlist

/*

* To change this template, choose Tools | Templates

* and open the template in the editor.

*/

package javaapplication5;

 

import java.text.NumberFormat;

import java.util.ArrayList;

import java.util.Scanner;

 

/**

*

* @author Лера

*/

public class stanlist {

ArrayList<stanok> stan;

 

public stanlist()

{

stan = new ArrayList<stanok>();

}

public int length()

{

return stan.size();

}

 

public double calculate_timework_plan()

{

double Q1= 0;

for (int i = 0; i < stan.size(); i++)

Q1 += stan.get(i).GetTimeWork_plan();

return Q1;

}

 

public double calculate_timework_fact()

{

double Q2= 0;

for (int i = 0; i < stan.size(); i++)

Q2 += stan.get(i).GetTimeWork_fact();

return Q2;

}

 

 

public int add_note()

{

Scanner scan= new Scanner(System.in);

 

int n=0;

String type, s;

double time_plan, time_fact;

System.out.println("Сколько записей вы хотите добавить?");

s = scan.next();

try

{

n = Integer.parseInt(s);

 

}

catch (NumberFormatException nfe)

{

System.out.println("Неправильный ввод!!!\n");

}

 

 

for (int i = 0; i < n; i++)

{

stanok[] stan_1 = new stanok[1];

System.out.println("\nТип станка (не более 15 символов): ");

type = scan.next();

System.out.println("Время по плану: ");

s = scan.next();

try

{

time_plan = Double.parseDouble(s);

}

catch (NumberFormatException nfe)

{

System.out.println("Неправильно введено число! Пожалуйста, попробуйте ещё раз!");

break;

}

 

System.out.println("Время фактически: ");

s = scan.next();

try

{

time_fact = Double.parseDouble(s);

}

catch (NumberFormatException nfe)

{

System.out.println("Неправильно введено число! Пожалуйста, попробуйте ещё раз!");

break;

}

 

stan_1[0] = new stanok(type, time_plan, time_fact);

stan.add(stan_1[0]);

System.out.println("Запись добавлена.");

}

return 0;

}

 

public void print_tabl()

{

shapka();

NumberFormat nf = NumberFormat.getInstance();

nf.setMinimumFractionDigits (3);

for (int i = 0; i < stan.size(); i++)

{

System.out.print(String.format("|%15.9s ",stan.get(i).GetTypeStan())); //System.out.print(" | ");

System.out.print(String.format("|%13.9s ",nf.format(stan.get(i).GetTimeWork_plan())));

System.out.print(String.format("|%13.9s ",nf.format(stan.get(i).GetTimeWork_fact())));

System.out.print(String.format("|%14.9s ",nf.format(stan.get(i).CalculateTime_Hours())));

System.out.print(String.format("|%14.9s |",nf.format(stan.get(i).CalculateTime_Proc())));

niz();

 

 

}

 

System.out.print(String.format("|%16.9s","Итого: "));

System.out.print(String.format("|%13.9s ",nf.format(calculate_timework_plan())));

System.out.print(String.format("|%13.9s ",nf.format(calculate_timework_fact())));

System.out.print(String.format("|%16.9s","|"));

System.out.print(String.format("%16.9s","|"));

niz();

 

}

public int change_note()

{

Scanner scan= new Scanner(System.in);

NumberFormat nf = NumberFormat.getInstance();

nf.setMinimumFractionDigits (3);

String s, s1, s2;

double p, f;

int nom=-1, a=-1;

 

System.out.println("Введите тип того станка, информацию о котором хотите изменить:");

s = scan.next();

for (int i = 0; i < stan.size(); i++)

{

if (s.equals(stan.get(i).GetTypeStan()))

{

nom = i;

break;

}

 

 

System.out.println(nom);

 

}

 

if (nom < 0)

{

System.out.println("Нет такой записи!");

 

return 0;

}

 

else

{

 

shapka();

System.out.print(String.format("|%15.9s ",stan.get(nom).GetTypeStan()));

System.out.print(String.format("|%13.9s ",nf.format(stan.get(nom).GetTimeWork_plan())));

System.out.print(String.format("|%13.9s ",nf.format(stan.get(nom).GetTimeWork_fact())));

System.out.print(String.format("|%14.9s ",nf.format(stan.get(nom).CalculateTime_Hours())));

System.out.print(String.format("|%14.9s |",nf.format(stan.get(nom).CalculateTime_Proc())));

niz();

 

while (a!= 0)

{

System.out.println("\n\nКакое поле ведомости вы хотите изменить?");

System.out.println("1 - тип станка");

System.out.println("2 - время работы по плану");

System.out.println("3 - время работы фактически");

System.out.println("0 - выход ");

 

s1 = scan.next();

 

 

switch (s1)

{

case "1":

{

System.out.println("Новый тип станка(не более 15 символов): ");

stan.get(nom).new_type(scan.next());

break;

}

 

case "2":

{

System.out.println("Новое время работы по плану: ");

s2 = scan.next();

try

{

p = Double.parseDouble(s2);

}

catch (NumberFormatException nfe)

{

System.out.println("Неправильно введено число! Пожалуйста, попробуйте ещё раз!");

break;

}

stan.get(nom).new_time_plan(p);

 

break;

}

case "3":

{

System.out.println("Новое время работы фактически: ");

s2 = scan.next();

try

{

f = Double.parseDouble(s2);

}

catch (NumberFormatException nfe)

{

System.out.println("Неправильно введено число! Пожалуйста, попробуйте ещё раз!");

break;

}

stan.get(nom).new_time_fact(f);

}

case "0":

{

a = 0;

return 0;

}

default:

{

System.out.println("Неправильно выбран пункт меню! Пожалуйста, попробуйте ещё раз! \n");

break;

}

}

}

}

 

return 0;

}

 

 

public void shapka()

{

System.out.print(" ______________________________________________________________________________\n");

System.out.print("| ВЕДОМОСТЬ УЧЕТА ВРЕМЕНИ РАБОТЫ СТАНКОВ ПРЕДПРИЯТИЯ |\n");

System.out.print("|______________________________________________________________________________|\n");

System.out.print("| Тип | Время работы, час. | Отклонение от плана |\n");

System.out.print("| |_____________________________|_______________________________|\n");

System.out.print("| станка | по плану | фактически | в часах | в процентах |\n");

System.out.print("|________________|______________|______________|_______________|_______________|\n");

}

public void niz()

{

System.out.print("\n|________________|______________|______________|_______________|_______________|\n"); }}

Class stanok

/*

* To change this template, choose Tools | Templates

* and open the template in the editor.

*/

package javaapplication5;

 

/**

*

* @author Лера

*/

public class stanok {

 

private String type;

private double time_plan;

private double time_fact;

 

public stanok(String type, double time_plan, double time_fact)

{

this.type = type;

this.time_plan = time_plan;

this.time_fact = time_fact;

}

 

public String GetTypeStan()

{

return type;

}

 

public double GetTimeWork_plan()

{

return time_plan;

}

 

public double GetTimeWork_fact()

{

return time_fact;

}

 

public double CalculateTime_Hours()

{

double Q1 = time_plan - time_fact;

return Q1;

}

 

public double CalculateTime_Proc()

{

double Q2 = CalculateTime_Hours() * 100 / time_plan;

return Q2;

}

 

public void new_type(String newtype)

{

this.type = newtype;

}

 

public void new_time_plan(double new_time_plan)

{

this.time_plan = new_time_plan;

}

 

public void new_time_fact(double new_time_fact)

{

this.time_fact = new_time_fact;

}

 

}


Примеры работы программы

 


Выводы

В ходе выполнения лабораторной работы № 3 я приобрела практические навыки использования основных элементов ООП, отношения агрегации при разработке программ на языках Java и C#, а также сред разработки Microsoft Visual Studio и NetBeans. Разработанные программы полностью соответствуют постановке задачи. Результаты их работы на тестовых исходных данных соответствуют ожидаемым.

 

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...