Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Java программирование > Общие вопросы по Java, Java SE, Kotlin
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 28.11.2013, 20:56   #1
shmat_ru
Пользователь
 
Регистрация: 07.01.2013
Сообщений: 27
По умолчанию Java IDE

Мне надо сделать с использованием Swing.Как это сделать?
Задача:Создать класс «Отрезок», содержащий информацию о конечных точках. На его основе создать класс «вектор». Написать методы, определяющий, являются ли отрезки параллельными, а векторы – сонаправленными.

Код:
package point;
class Point {
    public static void main(String[] args) {
    }
   final public double x;
   final public double y;
   final public double z;

   public Point(Point point) {
      x = point.x;
      y = point.y;
      z = point.z;
   }

   public Point(double x, double y, double z) {
      this.x = x;
      this.y = y;
      this.z = z;
   }
}

class Segment {
   /** координаты отрезка */
   protected Point begin;
   protected Point end;

   /** конструктор по умолчанию */
   Segment() {
      begin = new Point(0.0, 0.0, 0.0);
      end = new Point(0.0, 0.0, 0.0);
   }

   /** конструктор с входными параметрами (координатами концов отрезка) */
   Segment(double x_begin, double y_begin, double z_begin, double x_end,
         double y_end, double z_end) {
      begin = new Point(x_begin, y_begin, z_begin);
      end = new Point(x_end, y_end, z_end);
   }

   Segment(Point begin, Point end) {
      this.begin = begin;
      this.end = end;
   }

   /** конструктор создающий копию объекта */
   Segment(Segment segment) {
      this(segment.begin, segment.end);
   }

   /** отрезки параллельны? */
   public boolean isParallel(Segment s1, Segment s2) {
      if (s1.begin.x - s1.end.x == s2.begin.x - s2.end.x) {
         if ((s1.begin.y - s1.end.y == s2.begin.y - s2.end.y)
               || ((s1.begin.z - s1.end.z) / (s1.begin.y - s1.end.y) == (s2.begin.z - s2.end.z)
                     / (s2.begin.y - s2.end.y))) {
            return true;
         } else {
            return false;
         }
      } else {
         if (s1.begin.y - s1.end.y == s2.begin.y - s2.end.y) {
            if ((s1.begin.z - s1.end.z) / (s1.begin.x - s1.end.x) == (s2.begin.z - s2.end.z)
                  / (s2.begin.x - s2.end.x)) {
               return true;
            } else {
               return false;
            }
         } else {
            if (((s1.begin.y - s1.end.y) / (s1.begin.x - s1.end.x) == (s2.begin.y - s2.end.y)
                  / (s2.begin.x - s2.end.x))
                  && ((s1.begin.z - s1.end.z) / (s1.begin.x - s1.end.x) == (s2.begin.z - s2.end.z)
                        / (s2.begin.x - s2.end.x))) {
               return true;
            } else {
               return false;
            }
         }
      }
   }
}

class Vector extends Segment {
   private int sign(double a) {
      if (a < 0) {
         return -1;
      }
      if (a > 0) {
         return 1;
      }
      return 0;
   }

   Vector() {

   }

   /** конструктор с входными параметрами (координатами концов вектора) */
   Vector(double x_begin, double y_begin, double z_begin, double x_end,
         double y_end, double z_end) {
      begin = new Point(0, 0, 0);
      end = new Point(x_end - x_begin, y_end - y_begin, z_end - z_begin);
   }

   Vector(Point begin, Point end) {
      this.begin = new Point(0, 0, 0);
      this.end = new Point(end.x - begin.x, end.y - begin.y, end.z - begin.z);
   }

   /** конструктор создающий копию объекта */
   Vector(Vector vector) {
      this(vector.begin, vector.end);
   }

   public boolean isCollinear(Vector v1, Vector v2) {
      if (isParallel(v1, v2) && sign(v1.end.x) == sign(v2.end.x)
            && sign(v1.end.y) == sign(v2.end.y)
            && sign(v1.end.z) == sign(v2.end.z)) {
         return true;
      } else {
         return false;
      }
   }
}
 class Main {
    public static void main(String[] args) {
        //Точки для первого отрезка
        Point a1 = new Point(2,2,0);
        Point b1 = new Point(2,5,0);
        //Точки для второго отрезка
        Point a2 = new Point(5,2,0);
        Point b2 = new Point(5,5,1);
        //На основе этих точек создаем отрезки (они должны быть параллельны)
        Segment firstLine = new Segment(a1,b1);
        Segment secondLine = new Segment(a2, b2);
        //Переменная для хранения результата. Обратите внимание, что в классе Segment пришлось метод проверки объявить static
        
 
    }
}


___________
Код нужно оформлять по правилам:
тегом [CODE]..[/СODE]
(кнопочка на панели форматирования с решёточкой #)
Не забывайте об этом!

Модератор.

Последний раз редактировалось Serge_Bliznykov; 29.11.2013 в 08:44.
shmat_ru вне форума Ответить с цитированием
Старый 29.11.2013, 04:44   #2
BleStaR
Форумчанин
 
Регистрация: 25.09.2009
Сообщений: 234
По умолчанию

Что значит "сделать с использованием Swing"?

Swing - библиотека для создания графического интерфейса для программ на языке Java. (Википедия)

Согласно задания вам необходимо реализовать классы, вы это сделали (свинг тут не причем). Или вы хотите GUI сделать?
BleStaR вне форума Ответить с цитированием
Старый 29.11.2013, 09:41   #3
shmat_ru
Пользователь
 
Регистрация: 07.01.2013
Сообщений: 27
По умолчанию

Да с GUI надо сделать
shmat_ru вне форума Ответить с цитированием
Старый 29.11.2013, 17:14   #4
BleStaR
Форумчанин
 
Регистрация: 25.09.2009
Сообщений: 234
По умолчанию

в этом посте есть пример рисования закрашенного треугольника (GUI на Swing). Добавляете поля ввода для координат отрезка/вектора - используйте JTextField (что бы не отходить от Swing)
BleStaR вне форума Ответить с цитированием
Старый 29.11.2013, 17:16   #5
shmat_ru
Пользователь
 
Регистрация: 07.01.2013
Сообщений: 27
По умолчанию

Я попробывал вашь пост через NetBeans сделать ошибки выдаёт
Я программу изменил начало,main в начало поставил
[CODE]
package main;
public class Main {

public static void main(String[] args) {
Segment s1 = new Segment(0.0, 0.0, 0.0, 1.0, 1.0, 1.0);
Segment s2 = new Segment(1.0, 1.0, 1.0, 2.0, 2.0, 2.0);
Segment s3 = new Segment(2.0, 2.0, 2.0, 1.0, 1.0, 1.0);
Segment s4 = new Segment(0.0, 0.0, 0.0, 1.0, 2.0, 3.0);
Vector v1 = new Vector(0.0, 0.0, 0.0, 1.0, 1.0, 1.0);
Vector v2 = new Vector(1.0, 1.0, 1.0, 2.0, 2.0, 2.0);
Vector v3 = new Vector(2.0, 2.0, 2.0, 1.0, 1.0, 1.0);
Vector v4 = new Vector(0.0, 0.0, 0.0, 1.0, 2.0, 3.0);
if (s1.isParallel(s1, s2)) {
System.out.println("Segment s1 parallel segment s2");
} else {
System.out.println("Segment s1 don't parallel segment s2");
}
if (s1.isParallel(s1, s3)) {
System.out.println("Segment s1 parallel segment s3");
} else {
System.out.println("Segment s1 don't parallel segment s3");
}
if (s1.isParallel(s1, s4)) {
System.out.println("Segment s1 parallel segment s4");
} else {
System.out.println("Segment s1 don't parallel segment s4");
}
if (v1.isCollinear(v1, v2)) {
System.out.println("Vector v1 collinear vector v2");
} else {
System.out.println("Vector v1 don't collinear vector v2");
}
if (v1.isCollinear(v1, v3)) {
System.out.println("Vector v1 collinear vector v3");
} else {
System.out.println("Vector v1 don't collinear vector v3");
}
if (v1.isCollinear(v1, v4)) {
System.out.println("Vector v1 collinear vector v4");
} else {
System.out.println("Vector v1 don't collinear vector v4");
}
}
}
[/СODE]

Последний раз редактировалось shmat_ru; 29.11.2013 в 18:36.
shmat_ru вне форума Ответить с цитированием
Старый 29.11.2013, 19:31   #6
BleStaR
Форумчанин
 
Регистрация: 25.09.2009
Сообщений: 234
По умолчанию

Покажите какой код у вас получился (из того что вы выложили я не увидел реализации GUI). Ну и собственно какие ошибки?
BleStaR вне форума Ответить с цитированием
Старый 29.11.2013, 23:19   #7
shmat_ru
Пользователь
 
Регистрация: 07.01.2013
Сообщений: 27
По умолчанию

Спасибо за беспокойство преподователь убрал эту тему,теперь мне это задание не к чему,зря мучелся
shmat_ru вне форума Ответить с цитированием
Старый 30.11.2013, 11:20   #8
Bugrimov
C/C++, Java
Участник клуба
 
Аватар для Bugrimov
 
Регистрация: 28.03.2012
Сообщений: 1,679
По умолчанию

Почему зря! Вам самому не интересно?
"Keep it simple" - придерживайтесь простоты!
Уильям Оккам - "Не следует множить сущее без необходимости"
Сложность - враг простоты и удобства!
Bugrimov вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вычислить длину линии разреза (Java(NetBeans IDE 7.2.1)) Наталья Михайловна Помощь студентам 2 06.03.2013 06:46
Русификатор для Eclipse IDE for Java Developers Arazei Помощь студентам 5 22.08.2011 13:07
IntelliSense в Java IDE Ivan_32 Свободное общение 1 21.09.2010 17:59
Java. Посоветуйте литературу и IDE. spamer Свободное общение 38 21.11.2009 00:14
JAVA in Netbeans IDE ilhom.m Общие вопросы по Java, Java SE, Kotlin 1 09.07.2009 11:26