// Zamiast odwróconych liczb, wyświetla mi te same liczby
// NP metoda reverse z liczby 3 powinna robić 0,33333333333
// Jednym słowem coś z tą metodą jest nie tak bo nie odwraca tych liczb :(
// z góry dziękuję za pomoc
public class Reversible {
String napis;
double liczba;
public Reversible(double a) {
liczba = a;
}
public Reversible(String b) {
napis = b;
}
public void reverse() {
napis = "jakis napis";
liczba = (1 / liczba);
}
}
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) {
// zostawiam na pozniej
}
}
}
public class ReversibleDouble extends Reversible {
double liczba = super.liczba;
public ReversibleDouble(double liczba) {
super(liczba);
liczba = super.liczba;
}
public void reverse() {
super.liczba = (1 / (liczba));
}
String aString = Double.toString(liczba);
public String toString() {
return aString;
}
}
public class ReversibleString extends Reversible {
String napis;
public void reverse() {
String bufor = "";
for(int i=napis.length()-1; i>= 0; i--){
char litera = napis.charAt(i);
bufor += litera;
}
napis = bufor;
}
public ReversibleString(String napis){
super(napis);
this.napis = napis;
}
public String toString(){
return napis;
}
}