Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

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

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


Донат для форума - использовать для поднятия настроения себе и модераторам

А ещё здесь можно купить рекламу за 15 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru

Ответ
 
Опции темы
Старый 19.04.2019, 11:13   #1
Алексей9912
Пользователь
 
Регистрация: 30.09.2018
Сообщений: 30
Репутация: 10
Вопрос Присваивание экземплярам разных значений

здравствуйте! я начинающий в java, и столкнулся с такой проблемой: все экземпляры класса присваивают значения переменных последнего экземпляра. как это исправить, подскажите пожалуйста

вот код:

Код:
public final class Vector {
	private static int x = 0;
	private static int y = 0;
	Vector(int x, int y) {
		this.x = x;
		this.y = y;
	}
	Vector() {}
	void setValue(int x, int y) {
		this.x = x;
		this.y = y;
	}
	String getValue() {
		return "("+Vector.x+"; "+Vector.y+")";
	}
	Vector add(Vector other) {
		return new Vector(this.x+other.x, this.y+other.y);
	}
}
Код:
public class Test {
	public static void main(String[] args) {
		Vector a = new Vector();
		Vector b = new Vector();
		a.setValue(5, 2);
		b.setValue(2, 5);
		System.out.println(a.getValue());
		System.out.println(b.getValue());
	}
}
Алексей9912 вне форума   Ответить с цитированием
Старый 19.04.2019, 11:37   #2
Serge_Bliznykov
МегаМодератор
СуперМодератор
 
Регистрация: 09.01.2008
Сообщений: 25,469
Репутация: 5596
По умолчанию

я не спец. но не понравилось, как вы получаете значения в getValue

может попробовать так:
Код:
	String getValue() {
		return "("+this.x+"; "+this.y+")";
	}
Serge_Bliznykov на форуме   Ответить с цитированием
Старый 19.04.2019, 11:43   #3
Алексей9912
Пользователь
 
Регистрация: 30.09.2018
Сообщений: 30
Репутация: 10
По умолчанию

а, точно. то у меня шарики за ролики зашли. но это все равно не меняет ситуацию
Алексей9912 вне форума   Ответить с цитированием
Старый 19.04.2019, 12:02   #4
p51x
Профессионал
 
Регистрация: 15.02.2010
Сообщений: 14,334
Репутация: 2611
По умолчанию

Не последнего, а единственным переменным. Прочитайте про слова, которые пишете, например про static.
__________________
Запомните раз и навсегда: помочь != "решите за меня"!
p51x на форуме   Ответить с цитированием
Старый 19.04.2019, 12:05   #5
Алексей9912
Пользователь
 
Регистрация: 30.09.2018
Сообщений: 30
Репутация: 10
По умолчанию

да, спасибо, только что сам уже понял, что надо static убрать
Алексей9912 вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вычисления значений при разных аргументах prem1era Общие вопросы C/C++ 4 18.09.2011 16:08
Присваивание значений одинаковым полям разных типов. Alex Cones Общие вопросы Delphi 1 20.09.2010 17:56
Вопрос, по суммированию разных значений Валюшкин Microsoft Office Excel 2 02.09.2010 10:04
Вставка значений из разных листов AntiZero Microsoft Office Excel 2 16.11.2007 19:27


13:23.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.

Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru