@STVDI

JAVA, как увеличить аргумент объекта?

Меня интересует само понимает, как написать метод, который при вызове
ncrementA(c2.a);
incrementB(c2.b);
Увеличит именно их.

У меня выходит какой-то бред(
Public class MyClass
{
private int a;
public double b;

public MyClass(int first, double second)
{
this.a = first;
this.b = second;
}

public static void incrementBoth(MyClass c1) {
c1.a = c1.a + 1;
c1.b = c1.b + 1.0;
}

// new method
public static void incrementA(int first)
{
first = first + 1;
}

// new method
public static void incrementB(double second)
{
second = second + 1.0;
}

public static void main(String[] args)
{
MyClass c1 = new MyClass(10, 20.5);
MyClass c2 = new MyClass(10, 31.5);
// different code below
incrementA(c2.a);
incrementB(c2.b);
System.out.println(c2.a + ", "+ c2.b);
}
}
  • Вопрос задан
  • 134 просмотра
Решения вопроса 1
Примитивы всегда передаются по значению

В этом месте обновляется только аргумент
public static void incrementA(int first)
{
first = first + 1;
}


Хотел видимо так:
public static void incrementA(int first)
{
this.first = first + 1;
}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы