Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Родин Отчет 2.doc
Скачиваний:
11
Добавлен:
09.02.2015
Размер:
186.88 Кб
Скачать

Задание 2

import java.io.File;

import java.io.IOException;

import java.io.PrintWriter;

import java.util.EmptyStackException;

import java.util.Scanner;

import java.util.Stack;

/**

* Created by kateairmac on 14.04.14.

*/

public class Lab2_ex2 {

private static void FillStack(Stack stack, String string)

{

int i = 0;

while(i != string.length()) {

stack.push(string.charAt(i));

i++;

}

}

private static File CreateFile() {

String fileName = GetString("Enter file name: ");

File file = new File(fileName);

try {

file.createNewFile();

return file;

}

catch (IOException ex) {

System.out.println("Can't create file.");

return null;

}

}

private static PrintWriter CreateWriter(File file){

PrintWriter writer = null;

try {

writer = new PrintWriter(file);

return writer;

}

catch (IOException ex) {

System.out.println("Can't write to file.");

return null;

}

}

private static void WriteToFile(Stack stack) {

File file = CreateFile();

PrintWriter writer = CreateWriter(file);

while(!stack.empty()) {

writer.print(stack.pop());

}

writer.close();

}

private static boolean checkString(String string) {

try {

Integer.parseInt(string);

}

catch (NumberFormatException ex) {

return false;

}

return true;

}

private static String GetString(String message){

System.out.println(message);

Scanner scanner = new Scanner(System.in);

String string = scanner.nextLine();

return string;

}

public static void main(String[] args) {

String string = GetString("Enter number: ");

if(checkString(string)){

Stack stack = new Stack();

FillStack(stack, string);

try

{

WriteToFile(stack);

}

catch (EmptyStackException e)

{

System.out.println("Empty stack.");

}

}

else{

System.out.println("Not a number!");

}

}

}

Задание 3

package EnrolleePackage;

import GetterPackage.StringGetter;

import java.util.ArrayList;

/**

* Created by kateairmac on 27.04.14.

*/

public class Enrollee {

private String secondName;

private String firstName;

private String middleName;

private String address;

private String phoneNumber;

private ArrayList<Integer> marks = new ArrayList<Integer>();

public String getSecondName() {

return secondName;

}

public void setSecondName(String secondName) {

this.secondName = secondName;

}

public String getFirstName() {

return firstName;

}

public void setFirstName(String firstName) {

this.firstName = firstName;

}

public String getMiddleName() {

return middleName;

}

public void setMiddleName(String middleName) {

this.middleName = middleName;

}

public String getAddress() {

return address;

}

public void setAddress(String address) {

this.address = address;

}

public String getPhoneNumber() {

return phoneNumber;

}

public void setPhoneNumber(String phoneNumber) {

this.phoneNumber = phoneNumber;

}

public ArrayList<Integer> getMarks(){

return marks;

}

public void setMarks(ArrayList<Integer> marks){

this.marks = marks;

}

Enrollee(){

}

public Enrollee(String secondName, String firstName, String middleName,

String address, String phoneNumber, ArrayList<Integer> marks){

this.firstName = firstName;

this.secondName = secondName;

this.middleName = middleName;

this.address = address;

this.phoneNumber = phoneNumber;

this.marks = marks;

}

public void Show(){

System.out.println(secondName + " " + firstName + " " + middleName +

"\n" + address + "\n" + phoneNumber + "\n" + marks);

}

public void ShowName(){

System.out.println(secondName + " " + firstName + " " + middleName);

}

public double GetAverageMark(){

int sumMarks = 0;

for(Integer mark : this.marks){

sumMarks += mark;

}

return (double)sumMarks/(double)(3);

}

public static Enrollee EnrolleeCreate() {

System.out.println("New enrollee: ");

String secondName = StringGetter.GetString("Enter second name: ");

String firstName = StringGetter.GetString("Enter first name: ");

String middleName = StringGetter.GetString("Enter middle name: ");

String address = StringGetter.GetString("Enter address: ");

String phoneNumber = StringGetter.GetString("Enter phone number: ");

try{

long num = Long.parseLong(phoneNumber);

}

catch (NumberFormatException ex){

System.out.println("Phone number isn't a number.");

}

ArrayList<Integer> marks = new ArrayList<Integer>();

marks.ensureCapacity(3); //3 exams

for (int i = 0; i<3; i++) {

String input = StringGetter.GetString("Enter " + (i+1) + " mark: ");

int mark = 0;

try {

mark = Integer.parseInt(input);

}

catch (NumberFormatException ex){

System.out.println("Mark isn't a number.");

}

marks.add(i,mark);

}

return new Enrollee(secondName, firstName, middleName, address, phoneNumber, marks);

}

}

package GetterPackage;

import java.util.Scanner;

/**

* Created by kateairmac on 29.04.14.

*/

public class StringGetter {

public static String GetString(String message){

System.out.println(message);

Scanner scanner = new Scanner(System.in);

String string = scanner.nextLine();

return string;

}

}

import EnrolleePackage.Enrollee;

import GetterPackage.StringGetter;

import java.util.ArrayList;

/**

* Created by kateairmac on 29.04.14.

*/

public class Program {

public static void main(String[] args) {

String input = StringGetter.GetString("Enter count of enrollee: ");

int count = 0;

try {

count = Integer.parseInt(input);

}

catch (NumberFormatException ex){

System.out.println("Input isn't a number.");

}

ArrayList<Enrollee> enrollees = new ArrayList<Enrollee>();

for(int i=0; i<count; i++){

Enrollee item = Enrollee.EnrolleeCreate();

enrollees.add(item);

}

for(Enrollee enrollee : enrollees){

double am = enrollee.GetAverageMark();

System.out.print("Enrollee ");

enrollee.ShowName();

System.out.println("Average mark: " + am);

}

}

}

Выводы

В ходе выполнения лабораторной работы были получены навыки работы с регулярными выражениями, коллекциями, файлами, а так же получены навыки описания классов, их полей и методов.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]