palak22 Ответов: 1

Объект класса как параметр.


import java.io.*;
class Complex
{
	int a, b;
	BufferedReader br;
	void accept()
	{
		br = new BufferedReader (new InputStreamReader(System.in));
		try
		{
			System.out.println("Enter two numbers");
			int a= Integer.parseInt(br.readLine());
			int b= Integer.parseInt(br.readLine());
		}
		catch (IOException ioe)
		{
		}
	}
	void display()
	{
		System.out.println("Number 1 = " + a);
		System.out.println("Number 2 = " + b);
	
	
	}
	void add(Complex c1 , Complex c2)
	{
		a=c1.a+c2.a;
		b=c1.a+c2.a;
	}
	public static void main(String [] args)
	{
		Complex c1 = new Complex();
		Complex res = new Complex();
		Complex c2 = new Complex();
		c1.accept();
		c2.accept();
		res.add(c1,c2);
		res.display();

	}
		

}

Этот код компилируется и запускается. Но выход не желателен .
Сложение 2-х чисел не печатается.
когда я вызываю res. display, содержимое, которое печатается, является
час=0
минуты=0
секунды=0
Кто-нибудь может сказать мне, почему?

Что я уже пробовал:

Пожалуйста, помогите мне решить эту проблему.
Спасибо

1 Ответов

Рейтинг:
0

Richard MacCutchan

Да, потому что вы никогда не устанавливаете никаких значений для a и b в своих объектах, вы просто устанавливаете локальные значения в методе accept.

И вы не собираетесь изучать Java, публикуя здесь вопросы о каждой основной ошибке, которую вы совершаете. Я предлагаю вам пойти в Учебные Пособия По Java™ [^] и выучить его правильно структурированным способом.


palak22

Спасибо. Я пройду через учебник java, но сейчас вы можете помочь мне, отправив мне правильный код.
Если вы это сделаете, это будет для меня большим подспорьем.
Спасибо

Richard MacCutchan

Просто уберите int декларации в вашем int a= Integer.parseInt(br.readLine()); заявления.

Maciej Los

5ед!