Я пытаюсь имитировать мобильный телефон. Я создал следующие методы:Объект передан методу в java
- нагрузки
- вызов
- sendTextMessage
- getLoad
- getTotalMinutesCalled
- changeRate
- printSummary
- passLoadTo
Моя проблема заключается в том, что, когда я передать объект в метод passLoadTo()
, а затем распечатать резюме этого объекта, он не изменяет состояние этого объекта.
Вот что я пытаюсь сделать:
public class MobilePhone {
private double credit;
private int totalMinutes;
private double ratePerCall;
private int numOfText;
MobilePhone()
{
credit = 0;
totalMinutes = 0;
ratePerCall = 6.50;
numOfText = 0;
}
public void load(double pesos) {
if(pesos > 25) {
credit = credit + pesos;
} else {
//System.out.println("The attempting to use this service is forbidden.");
//System.out.println();
}
}
//other code
public void printSummary() {
System.out.printf("Credit left: P%.2f" ,getLoadLeft());
System.out.println();
System.out.println("Total call duration "+getTotalMinutesCalled()+" mins");
System.out.printf("Rate per call: P%.2f" ,ratePerCall);
System.out.println();
System.out.println("Number of text message send: " +getNumTextMessage());
System.out.println();
}
public void passLoadTo(MobilePhone dest, double amount) {
if(credit > amount) {
credit = credit - amount;
dest.load(amount);
} else {
System.out.println("fail");
System.out.println("The attempting to use this service is forbidden.");
System.out.println();
}
}
}
этот код для тестирования:
public class Main {
public static void main(String[] args) {
MobilePhone mp = new MobilePhone();
MobilePhone mp1 = new MobilePhone();
mp.load(30);
mp.printSummary();
mp.changeRate(1);
mp.printSummary();
mp.call(1);
mp.printSummary();
System.out.println(mp.getTotalMinutesCalled());
mp.passLoadTo(mp1, 30);
mp.printSummary();
mp1.printSummary();
}
}
Что я хочу, когда я создал 2 мобильный объект (Мр и mp1) и вызвать метод mp.passLoadTo (mp1,1), резюме резюме MP1 печатает нагрузку я добавляемые к тр mp1
Каков результат, который вы получаете, и какой результат вы ожидаете? – selig
Кроме того, в 'call' я ожидаю' totalMinutes = minutes; 'должен быть' totalMinutes + = minutes; ' – selig
@JesseJ passLoadTo, это перед блоками кода –