Instrukcja wypisująca tyle znaków jaka jest długość lini.

0

Cześć. Mam problem z ułożeniem instrukcji do tego zadania. Na dole pokazuję instrukcję przeze mnie napisaną ale mam problem z jedną cześcią (W klasie Linia metoda ma wypisywać w jednej linii tyle poziomych kreseczek ile wynosi długość linii). Nie mam zielonego pojęcia jak ułożyć taką instrukcję w klasie LINIA. Czy ktoś może się orientuje w tym ?

Napisz klasę Figura:

  • publiczna metodą rysuj (nic nie bierze, nic nie zwraca, wypisuje coś na ekran)
  • pole chronione dlugosc
    Utwórz klasy pochodne Linia, Kwadrat i przesłoń w nich metodę rysuj. W klasie Linia metoda ma wypisywać w jednej linii tyle poziomych kreseczek ile wynosi długość linii.
package javaapplication9;
public class Figura {
      protected float pole;
        public Figura(float pole) {
        this.pole = pole;
    }
         public String rysuj(){
             System.out.println("zdanie");
          return null;
         }
}

package javaapplication9;
public class Linia extends Figura {

    public Linia(float pole) {
        super(pole);
    }
    public String rysuj(){
             System.out.println("---------");
          return null;
}
0

Metoda rysuj w klasie Figura nie spełnia wymagań.

public class Figura {
      protected float pole;
        public Figura(float pole) {
        this.pole = pole;
    }
         public void rysuj(){
             System.out.println("zdanie");
         }
}

package javaapplication9;
public class Linia extends Figura {
    private String linia;
    public Linia(String linia) {
        this.linia = linia;
    }
    public void rysuj(){
        StringBuilder sb = new StringBuilder("");
        for(int i=0;i<linia.length;i++){
            sb.append("-");
        }        
        System.out.println(sb);
}
0

No ale problem polega na tym, że te obie instrukcje nie chcą działać. "Constructor Figura in class Figura cannot be aoolied to given types;

public Linia(String linia) {

 for(int i=0;i<linia.length;i++){
1

Dopisz w klasie Figura konstruktor bezparametrowy, albo zmień kod klasy Linia:

public class Linia extends Figura {
    private String linia;
    public Linia(String linia) {
        super(0);
        this.linia = linia;
    }
    public void rysuj(){
        StringBuilder sb = new StringBuilder("");
        for(int i=0;i<linia.length();i++){
            sb.append("-");
        }        
        System.out.println(sb);
}
0

Dzięki za pomoc :) Wszystko działa jak należy. Pozdrawiam

1 użytkowników online, w tym zalogowanych: 0, gości: 1