Задание 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);
}
}
}
Выводы
В ходе выполнения лабораторной работы были получены навыки работы с регулярными выражениями, коллекциями, файлами, а так же получены навыки описания классов, их полей и методов.