Напишите класс Vector2D (вектор на плоскости).
В классе необходимо предусмотреть:
Два публичных дробных поля (double) vX и vY - значения проекций вектора на оси.
Конструктор без параметров, который инициализирует вектор значениями (1,1).
Конструктор с двумя параметрами (проекция на ось X, проекция на ось Y).
Конструктор с параметром Vector2D (такие конструкторы в литературе принято называть конструкторами копирования).
Метод print(), который выводит вектор на экран в виде: (vX, vY), при этом значения проекций округлить до двух знаков после запятой. Разделитель в дробных числах - точка. Например, при печати вектора с проекциями vX = 1.2374 и vY = 2.2334, на экране должно появиться (1.24, 2.23).
Для организации форматного вывода можно воспользоваться методом format класса String. После выполнения следующей строки
System.out.println(String.format(Locale.US, "%.2f", 1.2345)); на экране появится число 1.23.
В ответе нужно указать только описание класса.
import java.util.Locale;
public class Vector2D {
double vX;
double vY;
public Vector2D() {
vX = 1;
vY = 1;
}
public Vector2D(double vX, double vY) {
}
public Vector2D(double Vector2D) {
}
public static void print(double vX, double vY) {
System.out.println("( " + (String.format(Locale.US, "%.2f", vX)) + ", " + (String.format(Locale.US, "%.2f", vY)) + ")");
}
}
public Vector2D(double vX, double vY) {
}
Тут вы конструктор сделали, но ничего в нем не делаете. Параметры же не используются нигде. Сереньким подсвечиваются из-за этого. инициализацию добавить надо все же
public Vector2D(double vX, double vY) {
this.vX = vX;
this.vY = vY;
}
Конструктор с параметром Vector2D (такие конструкторы в литературе принято называть конструкторами копирования).
Когда говорят про этот конструктор - имеют в виду что вы создаете новый вектор, в параметрах указав уже существующий. И новый вектор должен быть копией переданного в параметр. А вы тут создали конструктор, который принимает в параметрах одно дробное число. Должно быть так
public Vector2D(Vector2D other) {
vX = other.vX;
vY = other.vY;
}
Ну и, напоследок, вывод вот так лучше сделать:
System.out.println(String.format(Locale.US, "(%.2f, %.2f)", vX, vY));
Итого
import java.util.Locale;
public class Vector2D {
double vX;
double vY;
public Vector2D() {
vX = 1;
vY = 1;
}
public Vector2D(double vX, double vY) {
this.vX = vX;
this.vY = vY;
}
public Vector2D(Vector2D other) {
vX = other.vX;
vY = other.vY;
}
public static void print(double vX, double vY) {
System.out.println(String.format(Locale.US, "(%.2f, %.2f)", vX, vY));
}
}
Однако все равно не проходит :(
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Как правильно описать связь между таблицами? supply - поставка (к примеру, яблоки) goods - что-либо, что было поставлено (те же яблоки)
Подскажите возможные пути решения с qt, то есть с выводом в в виджетКамера так же имеет возможности управления зумом, просто вывести данные...