Avatar billede maxmuldjord Nybegynder
12. oktober 2004 - 11:41 Der er 13 kommentarer og
1 løsning

hvordan laver jeg en main der tester dette?

ok, jeg har bikset følgende sammen der compiler godt nok, dvs uden fejl. Nu får jeg så stukket ud at jeg skal lave en main der tester dette? Men jeg kan ikke se hvordan den skulle se ud? Så altså, det jeg efterlyser er lidt råd om hvordan en main der tester nedenstående kunne se ud

pft

using System;

namespace Robot
{
   
    class Robot
    {
       
        string name = "unknown";
        ushort age = 0;
        int robotsCreated ;

        public void SetAll(string name, ushort age, int robotscreated)
        {
            this.name = name;
            this.age = age;
            this.robotsCreated = robotsCreated;
            robotsCreated++;

        }

        public string Getname()
        {
            return name;
        }
       

        public ushort Getage()
        {
            return age;
        }
       
       
        public bool isOn()
        {
            if (robotsCreated < 5)
                return true;
            else
                return false;
        }
    }
    class RobotMath
    {
        private RobotMath()
        {
        }

        public int Average(int x, int y, int z)
        {
            return (x + y + z) / 3;
        }
   
    }
    class RobotTester
    {
        [STAThread]
        static void Main(string[] args)
        {
            //
            // TODO: Add code to start application here
            //
        }
    }
}
Avatar billede arne_v Ekspert
12. oktober 2004 - 11:50 #1
Du har jo allerede skelettet til Main i din kode.

Du skal vel instantiere et objekt af type Robot og så
prøve at kalde alle metoder og se om de virker.
Avatar billede arne_v Ekspert
12. oktober 2004 - 11:52 #2
Robot r = new Robot();
t.setAll("foobar", (ushort)2, 3);
Console.WriteLine(r.GetName() + " " + r.GetAge() + " " + r.isOn());

måske
Avatar billede maxmuldjord Nybegynder
12. oktober 2004 - 12:04 #3
ok og tak Arne, jeg ser lige om jeg kan få det til at virke
Avatar billede maxmuldjord Nybegynder
12. oktober 2004 - 12:24 #4
jeg kommer til kort med en så simpel ting, den siger at jeg mangler method overload for SetAll og at jeg mangler et method name i min WriteLine. hvad menes der, jeg kan ingen eksempler finde i min bog

class RobotTester
    {
        [STAThread]
        static void Main(string[] args)
        {
            Robot r = new Robot();
            Robot.SetAll();
            Console.WriteLine(r.isOn())("+r.Getage()"+r.Getname());
        }
    }
}
Avatar billede arne_v Ekspert
12. oktober 2004 - 12:26 #5
class RobotTester
    {
        [STAThread]
        static void Main(string[] args)
        {
            Robot r = new Robot();
            Robot.SetAll("foobar", (ushort)2, 3); // SetAll tager 3 argumenter
            Console.WriteLine(r.isOn() + " " + r.Getage()+ " " + r.Getname()); //værdier skal bare samles til en streng
        }
    }
Avatar billede maxmuldjord Nybegynder
12. oktober 2004 - 12:29 #6
hvad mener du med "foobar" Arne?
Avatar billede arne_v Ekspert
12. oktober 2004 - 12:32 #7
Det er bare navnet på robotten. Første argument til SetAll.

Jeg ved ikke hvad din robot skal hedde så af mangel på bedre
valgte jeg den klassiske "foobar".
Avatar billede maxmuldjord Nybegynder
12. oktober 2004 - 12:37 #8
ok den er jeg med på, jeg får nu kun en fejl D:\Dokumenter\Visual Studio Projects\Robot\Class1.cs(60): An object reference is required for the nonstatic field, method, or property 'Robot.Robot.SetAll(string, ushort, int)'




class RobotTester
    {
        [STAThread]
        static void Main(string[] args)
        {
            Robot r = new Robot();
            Robot.SetAll("foobar",(ushort)2,3);
            Console.WriteLine(r.isOn()+""+r.Getage()+""+r.Getname());
Avatar billede arne_v Ekspert
12. oktober 2004 - 12:41 #9
r.SetAll("foobar",(ushort)2,3);
Avatar billede arne_v Ekspert
12. oktober 2004 - 12:41 #10
Og du kan jo godt vælge nogle andre værdier, hvis du ved noget
om hvad de værdier skal være.
Avatar billede maxmuldjord Nybegynder
12. oktober 2004 - 12:51 #11
tusind tak Arne! Lad mig lige spørge; når jeg laver en ny Robot som i dette tilfælde er r. Skal jeg så hele tiden benytte mig af r når jeg refere til Robot?

og et svar den herre 8>) bøjer mig i støvet!
Avatar billede arne_v Ekspert
12. oktober 2004 - 12:53 #12
Alle metoder der ikke er static skal kaldes på en instans d.v.s. r og ikke
Robot.

Du kan jo også lave flere Robot instanser r1,r2,r3 ...
Avatar billede arne_v Ekspert
12. oktober 2004 - 12:53 #13
og et svar
Avatar billede maxmuldjord Nybegynder
12. oktober 2004 - 12:55 #14
så lærte jeg det! Tak Arne
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester