Dzień dobry, otóż mam problem z następującym zadaniem:
"Zdefiniować interfejs Reversible z jedną metodą Reversible reverse() i zaimplementować ją w klasach ReversibleString i ReversibleDouble.
Metoda reverse dla Stringów odwraca napis, a dla liczb - odwraca liczbę (czyli z napisu kot robi tok a z liczby 3 robi 0.3333).
Metoda zwraca aktualną (odwróconą) wartość.
Zapewnić by następujący program wykonał się prawidłowo i dał pokazane wyniki:"
public class ReverseTest {
public static void main(String[] args) {
Reversible[] revers = new Reversible[] {
new ReversibleString("Kot"),
new ReversibleDouble(2),
new ReversibleDouble(3),
new ReversibleString("Pies"),
new ReversibleString("Ala ma kota i psa"),
new ReversibleDouble(10),
};
System.out.println("Normalne:");
for (Reversible r : revers) {
System.out.println(r);
}
for (Reversible r : revers) {
r.reverse();
}
System.out.println("Odwrócone:");
for (Reversible r : revers) {
System.out.println(r);
}
System.out.println("Przywrócone i zmienione:");
for (Reversible r : revers) {
/*<- co tu trzeba napisać */
}
}
}
Za dużo tego zadania nie zrobiłem ponieważ niestety dopiero zaczynam pracę z Javą.
Mam tylko tyle
public interface Reversible {
void reverse();
}
public class ReversibleDouble implements Reversible {
private double liczba;
public ReversibleDouble(double i) {
liczba = i;
}
@Override
public void reverse() {
}
String liczbaTEKST = Double.toString(liczba);
public String toString() {
return liczbaTEKST;
}
}
public class ReversibleString implements Reversible {
public String tekst;
public ReversibleString(String string) {
tekst = string;
}
@Override
public void reverse() {
}
}
Mój problem(póki co przynajmniej) to to, że nie wiem co zrobić ale liczby się zapisywały, wyniku powinny wyglądać tak
"Wynik:
Normalne:
Kot
2.0
3.0
Pies
Ala ma kota i psa
10.0
Odwrócone:
toK
0.5
0.3333333333333333
seiP
asp i atok am alA
0.1
Przywrócone i zmienione:
Tekst Kot
12.0
13.0
Tekst Pies
Tekst Ala ma kota i psa
20.0"
Jednak u mnie wszystkie liczby pokazują się jako "0.0"