3 svar
66 visningar
popelos 167
Postad: 28 dec 2024 14:06

VisualStudioCode_Java_JUnit_Jupiter_SetUp

Hej. Jag har nu i två timmar följt diverse tutorials där jag försöker sätta upp min egen programmeringsmiljö med huvudkod, testkod och sedan kunna köra testfall vi har fått givna. Det går inte särskilt bra tyvärr. 

Koden som är skriven är avskriven som ett exempel och det står att jag saknar Main Method som syntax error därav undrar jag om Owner.java är kopplad till OwnerTestprogram.java då den senaste har en main metod. 

Har jag aktivierat JUnit Jupiter? Det tror jag då jag följt tre steg och fått ned "lib" i min mapp. 

Jag har följt 7 steg.

Steg 1. Download and Install VSC (Check)

Steg 2. Install the plug in: Extension pack for java (Bör va check stod att jag hade det)

Steg 3. Import the project (Bör va check skapat en mapp och importerat den till VSC)

Steg 4. Activate the test (Bör va check har sökt upp och aktiverat testning JUnit Jupiter)

Steg 5. Test the Code (Blev förvirrad för läraren på videon hade förberett massa kod som jag ej hade)

Steg 6. Code The Solution (Skrivit av lärarens exempel bör var rätt kan va något fel) 

Steg 7. Test your Solution (Får errors och bör va fel då jag tkr det ej verkar samköra) 

 

sictransit Online 1172 – Livehjälpare
Postad: 28 dec 2024 14:46 Redigerad: 28 dec 2024 14:47

Börja med att rätta de fel som kompilatorn klagar över. Vissa kan vara följdfel, men de på rad 4 och 5 i OwnerTestProgram kan du börja med.

Sedan kommer rad 6 att skriva ut Henrik och inte Olle, eftersom du aldrig spar det name du skickar in i konstruktorn i Owner. Istället returnerar du alltid "Henrik".

Fixa åtminstone kompileringsfelen, för innan det är gjort kommer du inte vidare oavsett hur bra miljö du satt upp. Hör av dig om du behöver hjälp med dem.

popelos 167
Postad: 28 dec 2024 16:40
sictransit skrev:

Börja med att rätta de fel som kompilatorn klagar över. Vissa kan vara följdfel, men de på rad 4 och 5 i OwnerTestProgram kan du börja med.

Sedan kommer rad 6 att skriva ut Henrik och inte Olle, eftersom du aldrig spar det name du skickar in i konstruktorn i Owner. Istället returnerar du alltid "Henrik".

Fixa åtminstone kompileringsfelen, för innan det är gjort kommer du inte vidare oavsett hur bra miljö du satt upp. Hör av dig om du behöver hjälp med dem.

Hej och tack för svar!.

 

Jag har rättat felen första delen. 

Ja precis när jag genomförde testningen klagar den på namnen då tex "Henrik är hårdkodat i exemplet jag kört vilket det antagligen inte skall vara kommer kolla på uppgiften mer i detalj. Konstruktor är jag inte jättebra på mer än att jag vet att den skall ha samma namn som klassen i detta fall "Owner" 

Du har rätt var inga jättefel men efter 2h fanns det en del frustration nu tycker jag det ser bättre ut jag har byggt upp en Owner.java där jag skriver kod och OwnerTestprogram.java där jag testar samt importerat min lärares testfall HR1.1_OwnerTest.java och det verkar fungera tkr jag. I vår inlämningslåda har jag även kört testningen enligt instruktioner där jag fick 22/28 tror jag och de verkar vara "Henrik" och namnformat som är problemet jag behöver dock sätta mig in mer i uppgiften så återkommer. 

Se nedan 

Tack för hjälp! 

sictransit Online 1172 – Livehjälpare
Postad: 28 dec 2024 16:59 Redigerad: 28 dec 2024 17:01

Fint att det löser sig!

Konstruktorn är inte magisk utan bara en metod som körs när du skapar en instans av klassen, alltså ett objekt. Nyckelordet är new och så namnet på klassen.

Det gör du på rad 5. Där skickar du in "Olle" som argumentet 'name' till konstruktorn. På rad 6 i din klass Owner behöver du spara undan det i ett fält. När någon sedan anropar getName() så returnerar du värdet av det fältet, istället för det hårdkodade "Henrik".

För att inte spoila för mycket, så får du ett annat exempel på hur man kan använda värdet som skickas in i en konstruktor. I det här fallet en klass för en bil, som är av ett visst märke.

public class Car {
    private final String brand;

    // Constructor
    public Car(String brand) {
        this.brand = brand;
    }

    // Getter
    public String getBrand() {
        return brand;
    }
}
Svara
Close