#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. то есть: используйте установщики в вашем основном методе после распечатки. Что вы хотите сделать ?..