From 7ee554b9e7b19b1f90045946877c270539493346 Mon Sep 17 00:00:00 2001 From: andreiled Date: Wed, 12 Feb 2014 22:16:22 +0000 Subject: [PATCH] Simple example of Java class: ComplexNumber with usage demo --- seminars/.gitignore | 1 + seminars/class01/nb-configuration.xml | 35 +++++++++++ seminars/class01/pom.xml | 25 ++++++++ .../spring2014/class01/ComplexNumber.java | 61 +++++++++++++++++++ .../java/ru/mipt/spring2014/class01/Demo.java | 17 ++++++ 5 files changed, 139 insertions(+) create mode 100644 seminars/.gitignore create mode 100644 seminars/class01/nb-configuration.xml create mode 100644 seminars/class01/pom.xml create mode 100644 seminars/class01/src/main/java/ru/mipt/spring2014/class01/ComplexNumber.java create mode 100644 seminars/class01/src/main/java/ru/mipt/spring2014/class01/Demo.java diff --git a/seminars/.gitignore b/seminars/.gitignore new file mode 100644 index 0000000..714a923 --- /dev/null +++ b/seminars/.gitignore @@ -0,0 +1 @@ +/class01/target/ diff --git a/seminars/class01/nb-configuration.xml b/seminars/class01/nb-configuration.xml new file mode 100644 index 0000000..e6278fa --- /dev/null +++ b/seminars/class01/nb-configuration.xml @@ -0,0 +1,35 @@ + + + + + + project + 4 + 4 + 4 + false + 80 + none + 4 + true + true + 4 + 4 + NEW_LINE + false + 80 + NEW_LINE + NEW_LINE + none + + diff --git a/seminars/class01/pom.xml b/seminars/class01/pom.xml new file mode 100644 index 0000000..6abd564 --- /dev/null +++ b/seminars/class01/pom.xml @@ -0,0 +1,25 @@ + + 4.0.0 + + ru.mipt + class01 + 1.0-SNAPSHOT + jar + + class01 + http://maven.apache.org + + + UTF-8 + + + + + junit + junit + 3.8.1 + test + + + diff --git a/seminars/class01/src/main/java/ru/mipt/spring2014/class01/ComplexNumber.java b/seminars/class01/src/main/java/ru/mipt/spring2014/class01/ComplexNumber.java new file mode 100644 index 0000000..9b0c0f4 --- /dev/null +++ b/seminars/class01/src/main/java/ru/mipt/spring2014/class01/ComplexNumber.java @@ -0,0 +1,61 @@ +/** + * ComplexNumber.java + * Created On Feb 26, 2013 + * @author Andrei + */ +package ru.mipt.spring2014.class01; + +public class ComplexNumber +{ + private final double a, b; + + public ComplexNumber (double a, double b) + { + this.a = a; + this.b = b; + } + + //TODO: создать конструктор без аргументов + + public double getReal () + { + return a; + } + + public double getIm () + { + return b; + } + + public ComplexNumber add (ComplexNumber other) + { + return new ComplexNumber (a + other.a, b + other.b); + } + + public ComplexNumber subtract (ComplexNumber other) + { + //TOOD: реализовать по аналогии с методом add + throw new UnsupportedOperationException ("Division isn't supported yet"); + } + + //TODO: аналогичным образом реализовать методы умножения (multiply) и деления (divide) + + @Override + public String toString () + { + return String.valueOf (a) + " + " + b + "*i"; + } + + @Override + public boolean equals (Object obj) + { + if (obj instanceof ComplexNumber) + { + final ComplexNumber other = (ComplexNumber) obj; + return a == other.a && b == other.b; + } else + { + return false; + } + } +} diff --git a/seminars/class01/src/main/java/ru/mipt/spring2014/class01/Demo.java b/seminars/class01/src/main/java/ru/mipt/spring2014/class01/Demo.java new file mode 100644 index 0000000..8723d66 --- /dev/null +++ b/seminars/class01/src/main/java/ru/mipt/spring2014/class01/Demo.java @@ -0,0 +1,17 @@ +/** + * Demo.java + * Created on Feb 13, 2014 + */ +package ru.mipt.spring2014.class01; + +public class Demo +{ + public static void main (String[] args) + { + System.out.println ("ComplextNumber class demo"); + + ComplexNumber c1 = new ComplexNumber (5, 3), c2 = new ComplexNumber (2, -1); + + System.out.println ("(" + c1 + ") + (" + c2 + ") = " + c1.add (c2)); + } +}