Programmering B, snälla HJÄLP!

Permalänk
Medlem

Programmering B, snälla HJÄLP!

Hej,

Jag har en programmerings uppgift som jag har svårt med. Jag skulle vilja ha hjälp, jag har haft problem med programmering enda sen jag läste programmering A (Java) kursen nu läser jag B kursen. Uppgiften handlar om att man ska göra en banksystem där man två konton, en chef, ränta, saldo m.m. Man ska göra olika klasser också. Kurs Boken heter Java andra steget av jans skansholm

Uppgiften

1. Skapa en publik klass som heter MinBank
2. Skapa en klass Person med instansvariablerna: * Förnamn, *Efternamn, *Ålder.
3. Skapa en klass Bankkonto som innehåller: *Kontoinnehavare(Referensvariabel till person-object), *Ränta(Klassvariabel).
4. Skapa en klass Bank som innehåller: *Bankens namn, *Två bankkonton, Saldo(Instansvariabel)
5.Skriv en metod mestCash() som tar två bankkonton som indata och som returnerar det konto med högst saldo.
6.Knyt samman klasserna Bank, Bankkonto och Person samt metoden mestCash() i main() -metoden så att programet simulerar en bank. När programmet körs skall följande skrivas ut på skärmen: Banken heter Storstadsbank. Vår överbetalda chef heter Stina palm. Vi har två kontohavare här på banken, nämligen:
- [Ditt namn] med 12623.78 SEK kontot och
- Henrik bergman med 496,34 SEK på kontot.
Mest pengar på kontot har [namnet på kontoinnehavare med högst saldo]
Om du funderar på att öppna ett konto hos oss, så borde en ränta på 9,5% avgöra saken!

Det är hela uppgiften, jag kommer lugnt faila och få hem ett IG på kursen, jag tränar på det här typ 2-3h per dag men det är inget jag kan lära mig snabbt. Om det är någon där ute som kan hjälpa mig med uppgiften blir jag så hemskt glad asså jag vet inte hur jag ska tacka den personens insats.

Ses!

Permalänk

Du får gärna försöka lite innan du ber någon göra din läxa.. ser inte att du skrivit en rad kod

Visa signatur

Asus Striker II Extreme / XFX Geforce GTX 280 / Q9450 @ 3.6GHz/ TRUE Noctua 120/ 4x1GB Corsair TWIN3X2048-1333C9DHX / X25-M G2 80gb Velociraptor / Win 7 Ultimate x64/ Antec P190

MovieDatabase

Permalänk
Medlem

Instämmer med KurreKula, du måste ju iaf försöka! Ta det steg för steg, stöter du på ett specifikt problem så kan man hjälpa dig. Men inte, "här är min läxa, gör den åt mig".. det funkar inte riktigt så.

Visa signatur

EPoX 8RDA+, XP2500+, 2x256Mb PC3200 (DualCh), Club3D 9800PRO, Seagate 7200.7 160Gb 8Mb Limited edition

Permalänk
Medlem

Nej sorry, jag menade inte så. Jag har nämligen försökt och jag ligger på 5.an på uppgiften. SÅ jag har gjort allt från 1 till 4. Så nu återstår 5an och 6an. Jag vet inte riktigt hur jag ska göra det. Vill ni se det jag har gjort?

Jag har haft problem med programmering sedan vi hade kursen programmering A lärde mig ingenting där p.g.a av en dålig lärare. Nu har de bytt och den nya kursen (prog b) har en krävande lärare som vill ha det rent och snyggt. Så jag tror jag kommer få ett IG till slut. Men jag försöker iaf.

Permalänk
Medlem

Skylla på läraren går det ju alltid att göra, vad hände med eget ansvar?

Du kommer ha nytta av det senare i livet...

Permalänk
Medlem

Så lång har jag kommit. Med andra ord försökt!

class Bankkonto {
Person Kontohavaren;
// Klassnamn variabelnamn; klassvariabel
static double ränta; //klassvariabel
double saldo;

}

class Bank {
String banknamn;
Person chef;
Bankkonto konto1;
Bankkonto konto2;

}

class Person {
String förnamn;
String efternamn;
int ålder;

}

public class MinBank {
public static void main (String [] args) {
Bank minBank = new Bank();
minBank.banknamn = "Storstadsbank";
chef minChef = new chef();
minBank.chef = "Stina plam";
Bank minbank = new konto1();
minbank.konto1 = "Henke";
minbank.konto2 = "Lisa";

}
}

public static double mestCash(int 2) {
return Konto1

}
}
}

Permalänk
Medlem

Jag kan skriva ett kort exempel på hur du kan lösa 5:an.. nu blir syntaxen lite påhittad, men du förstår nog vad jag menar..

private Bankkonto mestCash(Bankkono a, Bankkonto b) { if (a > b) return a; else return b; }

Nu tar den där metoden inte hänsyn till om dom olika kontona har lika mycket pengar... så det får du fixa själv..

Visa signatur

EPoX 8RDA+, XP2500+, 2x256Mb PC3200 (DualCh), Club3D 9800PRO, Seagate 7200.7 160Gb 8Mb Limited edition

Permalänk
Medlem

Boken kan dock inte förklara allting, så det är då läraren som är ansvarig för kursen så att eleverna fattar. Du kan läsa boken 1000 ggr och inte fatta ett skit, men en lärare som förklarar för en elev 1000 ggr kommer eleven till slut att fatta och dessutom kommer det fastna i hjärnan.

Permalänk
Medlem

Tack Nordis, nu ska jag försöka göra 5an. Men hur fan blir man bra på programmering, en kille i vår klass har aldrig hållt på med sånt men han grejjade det och fick ett MVG i slutbetyg, helt sjukt.

Permalänk
Avstängd

Är detta gymnasienivå eller högskolenivå? Hur man blir bättre? Jo du övar å övar å övar... sedan blir du bättre. Det är nog bäst att läsa mer än en bok och testa lite grejer själv. Försök göra ett eget program! Det är en av andledningarna till att jag blev bättre iaf!

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av tjalol
Boken kan dock inte förklara allting, så det är då läraren som är ansvarig för kursen så att eleverna fattar. Du kan läsa boken 1000 ggr och inte fatta ett skit, men en lärare som förklarar för en elev 1000 ggr kommer eleven till slut att fatta och dessutom kommer det fastna i hjärnan.

Beror ju på hur bra läraren är. Och hur bra boken är. Och om man själv lär sig visuellt, kognitivt eller auditivt.

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av tjalol
Men hur fan blir man bra på programmering, en kille i vår klass har aldrig hållt på med sånt men han grejjade det och fick ett MVG i slutbetyg, helt sjukt.

Är han möjligtvis även duktig i matematik och liknande? Jag själv och några andra i klassen är väldigt bra i ämnen som matematik och fysik (MVG) och vi har väldigt lätt för programmering i jämförelse med andra i klassen. Jag har inga källor för detta, men jag tror att logiken från de ämnena hjälper till att förstå programmering lättare.

Har dock inte programmerat någon Java, så kan inte hjälpa dig med din uppgift

Permalänk
Avstängd
Citat:

Ursprungligen inskrivet av tjalol
Så lång har jag kommit. Med andra ord försökt!
osv...

Du har visst glömt att klasserna ska vara public och fält-variablerna ska vara private. Du har även glömt set och get metoder.

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av Pylons
Du har visst glömt att klasserna ska vara public och fält-variablerna ska vara private. Du har även glömt set och get metoder.

Vilka är fält-variabler och vad är set och get metoder :S

Jag har lagt upp min halvfärdiga program så du kan möjligtvis visa nåt där. Blir tacksam!

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av Aonike
Är han möjligtvis även duktig i matematik och liknande? Jag själv och några andra i klassen är väldigt bra i ämnen som matematik och fysik (MVG) och vi har väldigt lätt för programmering i jämförelse med andra i klassen. Jag har inga källor för detta, men jag tror att logiken från de ämnena hjälper till att förstå programmering lättare.

Har dock inte programmerat någon Java, så kan inte hjälpa dig med din uppgift

Ja, tycker också att det stämmer. Pluggar naturvetenskap nu och vi naturvetare har det mycket enklare med programmering än de som inte är naturvetare.. Detta är så på min skola, men kan fortfarande inte dra slutsatsen att det är så överallt

Permalänk
Avstängd
Citat:

Ursprungligen inskrivet av tjalol
Vilka är fält-variabler och vad är set och get metoder :S

Jag har lagt upp min halvfärdiga program så du kan möjligtvis visa nåt där. Blir tacksam!

Är detta för gymnasiet eller högskolan??

Sedan så ska variabelnamn alltid börja med liten bokstav, inte för att man måste utan för att det skall vara lättare att läsa koden. Sedan så ska man egentligen inte använda åäö i variabelnamn, främst pga det inte är alla texteditorer som kan hantera det som du kan se. Skriver man på engelska så kan alla förstå också.

Fältvariabler är de variablerna som är deklarerade utanför klassmetoderna men innanför klassen. Detta är inget måste och i vissa fall så behöver man det inte eller ska inte ha det, men detta gör kodandet mera dynamiskt och det är lättare att underhålla koden. Det tillhär en bra design. T.ex. om räntan inte får vara över 10% eller under 5 % så kan du lätt lägga till denna funktion i set funktionen och eftersom fältvariablerna är private så kan inte andra klasser anroppa en variabel utan att använda setfunktionen vilket motverkar att fel uppstår.

Sedan så upptäckte jag att du inte har någon konstruktor för någon klass. Google "java construktor", när man programmerar å det är någon man inte vet vad det är så googla det med en gång! Google är nästan lika bra som gud hade varit om han/hon/det hade svarat när man frågade! När jag jobbar så använder jag google hela tiden. En klass kan ha flera kontruktorer, men minst en är ett måste för annars kan man ju inte skapa några objekt av klassen.

Det ska t.ex. se ut såhär:

public class Bankkonto {
private Person kontohavaren;
// Klassnamn variabelnamn; klassvariabel
private double rent; //klassvariabel, "ränta"
private double saldo;

//Construktor
public Bankkonto(Person kontohavaren, double rent, double saldo){
this.kontohavaren = kontohavaren;
this.rent = rent;
this.saldo = saldo;
}

//detta kallas för fältvariabler
public Person getKontohavaren(){
return kontohavaren;
}
public double getRent(){
return rent;
}
public double getSaldo(){
return saldo;
}
public void setSaldo(double saldo){
this.saldo = saldo; //this betyder "det här objektets saldo", dvs fältvariabeln
}
public void setRent(double r){
rent = r; //men du hade lika gärna kunnat skriva såhär
}
public void setKontohavaren(Person kontohavaren){
this.kontohavaren = kontohavaren;
}
}

Permalänk
Medlem

Jag vet inte riktigt hur jag ska förklara mina svårigheter i programmering. I programmering A så fick lära oss metoder, classer och andra små grejjer. Men nu har jag Programmerin B med nya grejjer. Jag vet inte riktigt när man ska använda t.ex while satsen eller for satsen när man ska returnera när man ska använda if satsen. Jag kanske kan dessa asså vad de gör å så men jag vet inte när man använder de. Har svårt att fatta logiken!

Permalänk
Medlem

Det är lite som matte, du måste öva tills det sitter som berget! Var på din lärare, det är din lärares uppgift att se till att du förstår allt som rör kursen!

Permalänk
Avstängd
Citat:

Ursprungligen inskrivet av tjalol
Jag vet inte riktigt hur jag ska förklara mina svårigheter i programmering. I programmering A så fick lära oss metoder, classer och andra små grejjer. Men nu har jag Programmerin B med nya grejjer. Jag vet inte riktigt när man ska använda t.ex while satsen eller for satsen när man ska returnera när man ska använda if satsen. Jag kanske kan dessa asså vad de gör å så men jag vet inte när man använder de. Har svårt att fatta logiken!

Programmering är svårt, men man får inte ge upp, man måste plugga plugga plugga...
while och for ser olika ut, men kan användas till samma saker. Det tycks lite olika om detta i programmeringsvärlden. Man skall generellt aldrig använda return från en loop, utan man skall istället ha ett vilkor i satsen där den avslutas för att det skall bli lättare att avgöra när den avslutas. If satsen används när du vill bestämma sanningsvärdet utav ett uttryck, t.ex. om a > b eller saldo*rent > 10 000

Permalänk
Medlem

Tack Pylons! jo, jag vet att google är mycket bra sök sida. Man kan hitta precis allt det man söker, men man måste söka med ett nyckelord så att den sidan du vill ha kommer fram. Tro mig jag har letat efter java sidor och dylikt för lite programmeringshjälp. Men inga bra sidor, dock är din sida någorlunda bättre än de andra. Så tack för den!

Jag har en fråga har jag gjort rätt på den här delen: Vad saknas och vad ska jag ändra på?

public class MinBank {
public static void main (String [] args) {
Bank minBank = new Bank();
minBank.banknamn = "Storstadsbank";
chef minChef = new chef();
minBank.chef = "Stina plam";
Bank minbank = new konto1();
minbank.konto1 = "Henke";
minbank.konto2 = "Lisa";

Permalänk
Medlem

Jo, jag vet Morre. Vi har bara en lärare och en lektion i veckan. I min klass finns det 32 elever som kan programmering mer eller mindre. Och han hinner inte hjälpa alla samtidigt men dock så ska jag ge ett förslag till skoledningen att de ska fixa stödtimmar i just programmering. Så hoppas de godkänner förslaget.

Permalänk
Avstängd
Citat:

Ursprungligen inskrivet av tjalol
Tack Pylons! jo, jag vet att google är mycket bra sök sida. Man kan hitta precis allt det man söker, men man måste söka med ett nyckelord så att den sidan du vill ha kommer fram. Tro mig jag har letat efter java sidor och dylikt för lite programmeringshjälp. Men inga bra sidor, dock är din sida någorlunda bättre än de andra. Så tack för den!

Jag har en fråga har jag gjort rätt på den här delen: Vad saknas och vad ska jag ändra på?

public class MinBank {
public static void main (String [] args) {
Bank minBank = new Bank();
minBank.banknamn = "Storstadsbank";
chef minChef = new chef();
minBank.chef = "Stina plam";
Bank minbank = new konto1();
minbank.konto1 = "Henke";
minbank.konto2 = "Lisa";

This does not make any sense at all.

Vad säger kompilatorn när du försöker kompilera det?

Permalänk
Medlem

Error, fail, you suck at programmering xD

Nä, men den kan inte köra med så många error i programmet.

Permalänk
Citat:

Ursprungligen inskrivet av tjalol
Tack Pylons! jo, jag vet att google är mycket bra sök sida. Man kan hitta precis allt det man söker, men man måste söka med ett nyckelord så att den sidan du vill ha kommer fram. Tro mig jag har letat efter java sidor och dylikt för lite programmeringshjälp. Men inga bra sidor, dock är din sida någorlunda bättre än de andra. Så tack för den!

Jag har en fråga har jag gjort rätt på den här delen: Vad saknas och vad ska jag ändra på?

public class MinBank {
public static void main (String [] args) {
Bank minBank = new Bank();
minBank.banknamn = "Storstadsbank";
chef minChef = new chef();
minBank.chef = "Stina plam";
Bank minbank = new konto1();
minbank.konto1 = "Henke";
minbank.konto2 = "Lisa";

Du kan inte deklarera en bank som ett konto..

Bank minbank = new konto1();

Citat:

Ursprungligen inskrivet av morre.nu
Det är lite som matte, du måste öva tills det sitter som berget! Var på din lärare, det är din lärares uppgift att se till att du förstår allt som rör kursen!

Håller verkligen inte alls med. Det är exakt som matte, det gäller inte att öva tills det sitter, det gäller att förstå. Du kan sitta i hundra år och öva och öva men ifall du inte förstår kommer du inte att klara det ifall det ändras något. I min erfarenhet är det de som övar och övar tills det sitter som är de som klarar matten sämst och därmed inte klarar det... Det är de som förstår vad som händer som klarar det, och det övar man inte in...

Visa signatur

Asus Striker II Extreme / XFX Geforce GTX 280 / Q9450 @ 3.6GHz/ TRUE Noctua 120/ 4x1GB Corsair TWIN3X2048-1333C9DHX / X25-M G2 80gb Velociraptor / Win 7 Ultimate x64/ Antec P190

MovieDatabase

Permalänk
Medlem

meh, jag vet inte hur det blir eller hur man gör. Det jag har lagt upp är det jag har försökt i drygt 3 veckor nu.

Permalänk
Avstängd

Ta det rad för rad och inte allt på en gång. Du måste förstå varje steg precis vad som händer.

Permalänk
Avstängd

Om jag ska vara riktigt ärlig så tror jag du måste läsa och förstå första boken i Programmering A, dvs Java första steget av jans skansholm(?). Det är väldigt grundläggande saker du tar fel på här. :S Det är väldigt jobbigt att bygga en pyramid uppochned.

Permalänk
Medlem

Jag skriver lite kommentarer till din kod, hoppas du förstår och kan ändra så det blir rätt. Vill inte skriva allt för komplicerat för då är risken att du inte förstår större.

public class MinBank { public static void main (String [] args) { Bank minBank = new Bank(); // Skapa en ny bank minBank.banknamn = "Storstadsbank"; // Sätt bankens namn till Storstadsbank chef minChef = new chef(); // Skapa en ny chef minBank.chef = "Stina plam"; // Sätta bankens chef till ett namn istället för en chef Bank minbank = new konto1(); // Försöka skapa en ny bank med ett konto minbank.konto1 = "Henke"; // Sätta ett konto som ett namn minbank.konto2 = "Lisa"; // Samma som raden ovanför } }

Gör som Pylons skrev, gå igenom koden rad för rad och försök förstå vad det är du egentligen har gjort och jämför med vad du vill göra.

Har du t.ex. en variabel med namn konto1 i en klass som är av typen Konto kan du inte sätta den till en sträng (text). (Det finns dock fall då det går men det ska vi inte gå in på nu för så blir du än mer förvirrad)

Börja med att titta på alla objekt du har skapat, Bank, Konto mm. och se vad dessa innehåller. När du har en bild av hur dessa ser ut kan du gå vidare till metoden main för att sätta ihop funktionaliteten du vill åstandkomma.

KurreKula har en poäng i att man måste förstå vad man gör. Många gånger ger övning färdighet men det gäller att man förstå hur saker fungerar. Varför blir resultatet av 1 och 1, 2?

Lycka till.

Permalänk
Medlem

haha, jo, jag har tänkt göra det. Men ska man göra uppgiften på två filer, på första skriver man in alla classer och sånt sen på den andra filen skapar man de och sen sätter värde, namn etc? eller hur blir det man kan väl inte göra allt på en enda fil?

Permalänk
Avstängd
Citat:

Ursprungligen inskrivet av Garret
Varför blir resultatet av 1 och 1, 2?

1 och 1 = 1; 1 + 1 = 2;