Множественные возвраты разных типов данных

#java #return

#java #Возврат

Вопрос:

Я полностью потерян и впадаю в отчаяние.
Я работаю с Netbeans, и то, что я пытаюсь сделать, это просто отправить 2 или более переменных разных типов в один класс, изменить в этом местоположении, а затем все вернуть в исходное местоположение вместе с изменениями, которые они прошли.
Я не могу поместить их в массив, потому что в данном случае я использую целое число и Double, а в реальном коде я использую намного больше, чем просто 2 переменные.

 public class Passing_Objects {

public void main(String[] args) {
    int a = 5;
    double b = 10;
    ? = Extra.Carry(a, b);
    System.out.println("A = "   a   ", B = "   b);
}    

class Extra {

public int a;
public double b;

public Extra(int _a, double _b) {
    this.a= _a;
    this.b= _b;
    return ?;
}
  

Либо то, что я ищу, не может быть выполнено, либо мой слабый некомпетентный ум слишком глуп, чтобы понять решение, которое используют все остальные.
В любом случае я не смогу добиться никакого прогресса в своем коде, пока не решу эту проблему.
Не мог бы кто-нибудь, пожалуйста, помочь мне понять, что мне нужно сделать, и было бы ли решение иным, если бы переменные A или B были массивами?

Комментарии:

1. Пожалуйста, укажите в своем вопросе язык, который вы используете.

2. Извините, использую Netbeans IDE 7.4. Забыл об этой части.

3. Netbeans — это программа (интегрированная среда разработки … вот что означает IDE). Вы пишете программу на Java

Ответ №1:

Что-то вроде этого?

 public class Passing_Objects {

public void main(String[] args) {
    int a = 5;
    double b = 10;
    Extra extra = new Extra(a, b);
    System.out.println("A = "   extra.getA()   ", B = "   extra.getB());
}    

class Extra {

public int a;
public double b;

public Extra(int a, double b) {
    this.a= a;
    this.b= b;
}

public int getA(){
return a;
}

public double getB(){
return b;
}
}
}
  

Редактировать :
Чтобы изменить значения после первой инициализации, вам нужны установщики.

Что-то вроде этих двух методов в вашем дополнительном классе.

 public void setA(int a){
this.a = a;
}

public void setB(double b){
this.b = b;
}
  

затем в вашем классе передаваемых объектов вы можете установить новые значения, вызвав методы setter.

 extra.setA(20); 

extra.setB(20d);
  

Надеюсь, это поможет.

Комментарии:

1. Что-то вроде этого. Но скажите, что вначале целое число a = 5, но позже я хочу, чтобы целое число a равнялось 20 и было таким же для Double b? Как мне заставить их быть чем-то отличным от того, как они начинались?

2. Извините, я забыл упомянуть об этом, но общая идея заключается в том, что в одной области кода a и b или инициализированный и более поздний код, в данном случае Extra, изменит a и b по-разному, и изменения останутся. Это кажется таким простым, но я чувствую себя слишком глупым, чтобы увидеть правильную технику для достижения этой цели.

3. Вам нужны установщики. Я приведу несколько примеров в своем ответе.

4. Извините, я действительно плох в этом. Я понимаю, что вы говорите с настройщиком, я на самом деле этого не знал, но теперь я не знаю, куда это поместить.

5. то есть: используйте установщики в вашем основном методе после распечатки. Что вы хотите сделать ?..