Tekst w ramkach

0

Witam,

mam za zadanie napisac program który bedzie wyświetlał po podaniu tekst, oraz wzóru podanej ramki w taki oto sposob

t1.ustawTekst("Czesiek");
t1.ustawRamke('-');

przykładowo wyswietli

  • Czesiek -

Wyswietlenie tekstu nie jest problemem, jednak nie potrafię wpisać go w ową ramkę.

Prosze o pomoc oraz wyrozumiałość,

-phoez

0

To ma być w konsoli? Jak tak, to pamiętaj, że tam znaki są równej szerokości, więc musisz policzyć ile ma tekst liter, potem będzie tyle myślników (czy innych znaków ramki) co liter + 2, po jednym na bokach ramki. I teraz wyświetlasz to przed tekstem, potem w nowej linii znak ramki + tekst + znak ramki i dalej w następnej linii znowu ramkę o dł. tekst + 2.

0

Tu raczej chodzi o to, aby sam pobierał jaki znak ma wstawić i "ozdobić" nim tekst, takie wpisywanie ręczne raczej nie przejdzie. Chodzi o to ze mam klase TekstIRamka, i musze w klasie testowej odpalić ten kod który podałem.

public class TekstiRamkaTest {
	public static void main(String[] args) {
	 TekstiRamka t1=new TekstiRamka();


	 t1.ustawTekst("Czesiek");
	 t1.ustawRamke('-'); 

i zeby to dało w konsoli

  • Czesiek -

Jak na razie mam

public class TekstiRamka {
private String tekst;
private char ramka;

	public void ustawTekst(String txt){
		tekst=txt;
	}
	public void ustawRamke(char ram){
		ramka=ram;
	}
	public String podajTekst(){
		return tekst;
	}
	public char podajRamke(){
		return ramka;
	}

		public void wyswietl(){
			System.out.println(ramka+ramka);
			System.out.println(tekst+ramka);
		}
	} 

Jednak jak widać nie mogę dojść do tego jak dać ową ramkę, w takim ustawieniu jak jest teraz to pierwsza linijka zwraca mi 70 zamiast ##

 70
Czesiek#

Zdaje sobię sprawę że pewnie dużo z tego co tu napisalem jest pełne błędów jednak dopiero się uczę.

Pozdrawiam
-phoez

0

Tutaj masz kod w C#, ale chodzi o samą metodę Draw:

class FramedText
    {
        public string Text
        {
            get;
            set;
        }
        public char Frame
        {
            get;
            set;
        }

        public FramedText(string text, char frame)
        {
            Text = text;
            Frame = frame;
        }

        public void Draw()
        {
            // rysujemy górną częśc
            for (int i = 0; i < Text.Length + 2; i++)
                Console.Write(Frame);

            Console.Write("\n"); // nowa linia

            // rysujemy boki i tekst
            Console.Write(Frame + Text + Frame);

            Console.Write("\n"); // nowa linia

            // rysujemy dolną część
            for (int i = 0; i < Text.Length + 2; i++)
                Console.Write(Frame);
        }
    }

    class Program
    {
        static void Main(string[] args)
        {
            FramedText text = new FramedText("TestowyString", '-');
            text.Draw();

            Console.Read();
        }
    }

Efekt:

test.png

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