Это проблема с домашней работой, и у меня возникли проблемы с пониманием того, как я могу создать метод .add() в классе Distance.Как написать метод .add()?
класс Расстояние имеет два целочисленных переменных экземпляра:
private int feet;
private int inches;
Он имеет конструктор без аргументов, который инициализирует Расстояние с нулевыми ногами и ноль дюймов.
Он имеет конструктор два аргумента, который принимает два положительных целых чисел для ног и дюймов, и бросает, и исключение, если они являются отрицательными или если дюймов больше, чем 11.
Он также получить/установить методы для экземпляра переменные. Мои получить/установить методы:
public void setFeet(int f){
feet = f;
}
public void setInches(int in){
inches = in;
}
public int getFeet(){
return feet;
}
public int getInches(){
return inches;
}
Мой первый вопрос, кто готов ответить: Это, как я должен настроить эти получить/установить методы? Я не уверен в себе.
Вторая проблема заключается в создании метода add(), который добавляет другой объект Distance к себе. То есть,
w1 = new Distance(4,9);
w2 = new Distance(3,6);
w1.add(w2); //w1 becomes 8 feet, 3 inches.
До сих пор у меня есть это:
public int add(Distance d) {
int df = d.getFeet();
int di = d.getInches();
int a = this.feet;
int b = this.inches;
int c = a.getFeet();
int d = b.getInches();
int sumInches, sumFeet, temp;
sumInches =di + d;
sumFeet = df + c;
if (sumInches>11) {
temp = sumInches-11;
sumFeet = sumFeet+1;
sumInches = temp;
}
this.feet = sumFeet;
this.inches = sumInches;
}
Но я не уверен, если это будет даже скомпилировать (я не имею доступа к компьютеру, на котором я могу установить право компилятора Теперь). Может ли кто-нибудь изучить это и объяснить мне, почему это может быть неправильно?
Вы можете инициализировать свои переменные до 0 при объявлении. и ваш метод setInches (int in) неверен. вы должны установить его значение в дюймах, а не значение стопы, public void setInches (int in) { inches = in; } – Abi
@Abi Это была серьезная опечатка, я копировал ее из бумаги. Извини за это. Я внес изменения. Спасибо, что поймали это. Кроме того, какие значения и инициализация I равны 0 и где я это делаю? – Chase
«У меня нет доступа к компьютеру, где я могу установить компилятор прямо сейчас» - я рекомендую вам перейти к одному. Наверняка, это не лучшее использование SO, чтобы кто-то копировал/вставлял ваш код в компилятор для вас, а тем более остальную часть отладки, которую вы еще не получили, пока еще не сделали. – millimoose