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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 23.03.2023, 04:31   #1
Maikl68
Пользователь
 
Регистрация: 05.03.2023
Сообщений: 31
По умолчанию Конструктор

Всем неравнодушным,здравствуйте.Изучаю конструктор в Jave.Вот что написал
Код:
public class Arithmetik {
	public static int a;
	public static int b;

	public Arithmetik(int a, int b) {// конструктор
		this.a = a;
		this.b = b;

	}

	public Arithmetik() {
		}
		public int summation () {
			int amount = a + b;
			return amount;
	}
	    public int produktTwoNumbers () {
			int multiplication = a * b;
			return multiplication;
		}public int divizion () {
			int divizionRezult = a / b;
			return divizionRezult;
		}
		public int maximumNuber () {
			int max = 0;
			if (a > b) {
				a = max;
			} else {
				b = max;
			}
			return max;
		}
		public int minimumNumber () {
			int min = 0;
			int equivalent = 0;
			if (a < b) {
				a = min;
			} else if (b < a) {
				b = min;
			}
			return min;

		}

	}
public class Main{
	public static  void main(String[] args) {
		Arithmetik amount = new Arithmetik(30,40);
		Arithmetik multiplication = new Arithmetik(3,6);
		Arithmetik divizionRezult = new Arithmetik(10,2);
		Arithmetik max = new Arithmetik(60,20);
		Arithmetik min = new Arithmetik(4,50);
		Arithmetik equivalent = new Arithmetik();


			System.out.println("сумма = "+amount);
			System.out.println("произведение ="+ multiplication);
			System.out.println("частное ="+ divizionRezult);
			System.out.println("максимальное число="+ max);
			System.out.println("минимальное число ="+ min);
			System.out.println("а  и  б равнозначны="+equivalent);

	}


}
создал класс,в классе конструктор с двумя параметрами,затем методы .В методе main создал объекты со значениями. А на выводе чушь.
Где косяк?
Maikl68 вне форума Ответить с цитированием
Старый 23.03.2023, 09:07   #2
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,709
По умолчанию

Хотя бы прочитайте про слова, которые пишите, например про static.

Последний раз редактировалось p51x; 23.03.2023 в 09:52.
p51x вне форума Ответить с цитированием
Старый 23.03.2023, 09:14   #3
Maikl68
Пользователь
 
Регистрация: 05.03.2023
Сообщений: 31
По умолчанию

p51x,
"проситайт"+ ть ,что именно? в конструкторе я его не использую.В методе main он к месту.Я же не навязываюсь,можете пояснить поясните,нет так и не надо,форумов достаточно,где то и помогут.
Maikl68 вне форума Ответить с цитированием
Старый 23.03.2023, 09:53   #4
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,709
По умолчанию

Молодец, опечатку заметил, а когда код копи-пастил даже непрочитал его.

Код:
	public static int a;
	public static int b;
p51x вне форума Ответить с цитированием
Старый 23.03.2023, 13:22   #5
Maikl68
Пользователь
 
Регистрация: 05.03.2023
Сообщений: 31
По умолчанию

p51x, ты имел ввиду,что я по незнанию задал статические переменные и отработали они только в конструкторе,а до методов не дошли или дошли но только до первого?Так и просто c int a=0; int b=0; программа выдает чушь

Последний раз редактировалось Maikl68; 23.03.2023 в 13:29.
Maikl68 вне форума Ответить с цитированием
Старый 23.03.2023, 13:30   #6
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,709
По умолчанию

а вы начните методы вызывать у объектов и найдете
p51x вне форума Ответить с цитированием
Старый 23.03.2023, 14:03   #7
Maikl68
Пользователь
 
Регистрация: 05.03.2023
Сообщений: 31
По умолчанию

p51x,
Код:
public int summation () {
			int amount = a + b;
			return amount;
Как думаю я:в методе summation вычисляется переменная amount сложением объектов a и b;
а как правильно?
Maikl68 вне форума Ответить с цитированием
Старый 23.03.2023, 14:17   #8
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,291
По умолчанию

Цитата:
Сообщение от Maikl68 Посмотреть сообщение
в методе summation вычисляется переменная amount
Ну так и вызывайте желаемые методы в строке с печатью, а то сейчас печатаете сами объекты.
Цитата:
Сообщение от Maikl68 Посмотреть сообщение
я по незнанию задал статические переменные
Эти переменные общие для всех экземпляров класса, так что при вызове каждого конструктора их значение переопределяется.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA на форуме Ответить с цитированием
Старый 23.03.2023, 15:20   #9
Maikl68
Пользователь
 
Регистрация: 05.03.2023
Сообщений: 31
По умолчанию

Спасибо за науку.Вот что навоял
Код:
public class Arithmetik {
	 int a;
	 int b;

	public Arithmetik(int a, int b) {// конструктор
		this.a = a;
		this.b = b;

	}

	    public Arithmetik() {
		}
		public int summation () {
			return a + b;
	}
	    public int produktTwoNumbers () {
			return a * b;
		}
		public int divizion () {
		return   a / b;

		}
		public int maximumNuber () {
			int max = 0;
			if (a > b) {
				max = a;
			} else {
				max = b;
			}
			return max;
		}
		public int minimumNumber () {
			int min = 0;
			int equivalent = 0;
			if (a < b) {
				min =a;
			} else if (b < a) {
				min =b;
			}
			return min;

		}

	}
public class Main{
public static void main(String[] args) {
Arithmetik summation = new Arithmetik(30,40);
Arithmetik produktTwoNumbers = new Arithmetik(3,6);
Arithmetik divizion = new Arithmetik(10,2);
Arithmetik max = new Arithmetik(60,20);
Arithmetik min = new Arithmetik(4,50);
Arithmetik equivalent = new Arithmetik();


System.out.println("сумма = "+ summation);
System.out.println("произведение ="+ produktTwoNumbers);
System.out.println("частное ="+ divizion);
System.out.println("максимальное число="+ max);
System.out.println("минимальное число ="+ min);
System.out.println("а и б равнозначны="+equivalent);

}


}
а все равно не считает
Maikl68 вне форума Ответить с цитированием
Старый 23.03.2023, 15:25   #10
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,291
По умолчанию

Цитата:
Сообщение от Maikl68 Посмотреть сообщение
а все равно не считает
Вы насоздавали кучу экземпляров с разными именами и их печатаете, а нужно вызывать методы.
Код:
System.out.println("сумма = " + summation.summation());
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA на форуме Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Конструктор Freewill Общие вопросы C/C++ 1 18.02.2012 21:51
С++ (конструктор, деструктор, копирующий конструктор) Jane-sad Помощь студентам 2 01.10.2010 10:01
Конструктор 3D игр Наблюдатель Gamedev - cоздание игр: Unity, OpenGL, DirectX 0 13.02.2009 18:13
конструктор игр koljsch Фриланс 13 04.02.2009 03:49
Конструктор PilGrim Общие вопросы C/C++ 0 16.01.2009 10:21