Cześć wszystkim,
Mam poważny problem w moim życiu i w dążeniu do bycia programistą. Skończyłem kurs, wiele nauki i pierwszy staż jako dev. I wszystko szło dobrze dopóki mogłem korzystać z gotowego programu i go poprawiać aż do momentu kiedy mój opiekun chciał mnie sprawdzić tak ogólnie i wyszło na to, że nie umiem od 0 napisać własnego kodu.
Dostałem takie zadanie:
Napisz program, w którym zaimplementujesz własną klasę String w oparciu o tablicę znaków. Niech klasa ta nazywa się ChrStr. Niech ChrStr wystawia następujące publiczne API:
ChrStr()
ChrStr(String input)
length() - długość łańcucha znaków
trim() - obcięcie spacji z początku i z końca
append(char) - dostawienie znaku na końcu
insert(index,char) - wstawienie znaku w dowolną pozycję index łańcucha. Jeśli index przekracza length, to brakujące znaki uzupełnić spacjami.
Przykład:
'ala ma kota'
insert(15,'z')
'ala ma kota z'
toString() - wyświetla zawartość naszej klasy na standardowym wyjściu
Oto mój kod (tak wiem, że bieda :/ )
package org.example;
public class ChrStr {
int size = 1000;
char array[] = new char[size];
public ChrStr(){
}
public ChrStr(char[] array){
this.array = array;
}
public ChrStr(String input){
if (input == null ){
throw new IllegalArgumentException("this is not String");
} else {
for (int i = 0; i< array.length; i++){
System.out.println(array[i]);
}
}
}
public ChrStr lenghtBebechy(){
return null;
}
public ChrStr trimBebechy(){
return null;
}
public ChrStr appendBebechy(char sign){
return null;
}
public ChrStr insertBebechy(int index,char sign){
return null;
}
//pokazuje mi, że tu ma być String ale muszę tu użyć swojej klasy chyba tak ?
public ChrStr toString(){
return null;
}
}
public class Main {
public static void main(String[] args) {
System.out.println("Hello world!");
String nazwa = "nazwa";
nazwa.length();
nazwa.trim();
char sign = '!';
StringBuilder nazwa1 = new StringBuilder().append("c").insert(1,1);
System.out.println(nazwa1);
ChrStr chrStr = new ChrStr("name");
System.out.println(chrStr);
}
}
Umiem używać gotowców znam te komendy i zdaje mi się, że rozumiem ich działanie ale zdaniem mojego opiekuna i co jest prawdą nie umiem myśleć jak maszyna i to jest mój problem. Dlatego nie mogę stworzyć nic od zupełnego zera.
Nie wiem czy rozwiązanie przez kogoś coś mi da.
Być może ktoś będzie miał chęci mi to jakoś wytłumaczyć albo powiedzieć co mogę w sobie zmienić żeby się przełamać. Bardzo chce programować i muszę walczyć ale sam już nie daje rady, dlatego potrzebuje dobrego ducha który mi poradzi jak sobie z tą barierą poradzić.
Za wszelaką pomoc z góry dziękuje .