Avatar billede shoots Nybegynder
23. oktober 2003 - 12:40 Der er 22 kommentarer og
1 løsning

hmm hjælp søges til 1. sem datamtiker stud.

har fået en programmerings opgave som kan ses her:
"http://www.rhs.dk/peterl/e03-prog1-1/opgaver/KursusOpgave1.doc"
og mit problem er at lave TMC klassen tror jeg har lavet worker classen den ser ud som følger...
"JAVA KODE START"
public class Item {

    //datafelter
    private String itemName;
    private String itemType;
    private String quality;
    private double price;
    private int year;
    private int thisYear;

    //konstruktøren
    Item (String aName, String aType, String aQual,int aYear,double aPrice){
        itemName = aName;
        itemType = aType;
        quality = aQual;
        year = aYear;
        price = aPrice;
          thisYear=2003;
      }
   
       
    //metoder
    public String getType ( )  {
            return itemType;
            }

    public void setType (String aType)  {
            itemType = aType;
            }

    public int getYear ( )  {
            return year;
            }

    public void setYear (int aYear)  {
            year = aYear;
            }
    public double getPrice ( )  {
                return price;
                }

    public void setPrice (int aPrice)  {
                price = aPrice;
}   
    public int age (int thisYear )  {
            return (thisYear-year);
    }
    public String toString () {
            return ("Name: " + itemName  + "\nQuality" + quality + "/nYear of production: " + year + "/nCost is" + price + " dkk");
}    }
"java kode slut"

og så skal jeg lave en app klasse kan putte data ind og behandle data fra worker klassen men ... hjælp
Avatar billede arne_v Ekspert
23. oktober 2003 - 14:33 #1
Vi vil ikk elave opgaven for dig - det lærer du ikke noget ved.

Umiddelbart synes jeg at opgave formuleringen er til at gå til.

Du er kommet til spm. 1b og du har noget kode og prblemet er mere
præcist ?
Avatar billede soreno Praktikant
23. oktober 2003 - 16:00 #2
Kommentar til ovenstående kode:

Hvorfor gør du sådan:
private int thisYear;

Og sætter den manuelt i konstruktøren:
thisYear=2003;


Du bruger den ikke !
I denne metode:
  public int age (int thisYear ) {
    return (thisYear-year);
  }

er de den lokale thisYear der benyttes, altså den fra argumentet.
Avatar billede shoots Nybegynder
23. oktober 2003 - 18:46 #3
jeg prøver at sætte oplysninger ind i opgaven og få dem vist i en JOptionpane.showMessageDialog ... men den siger fejl og jeg kan sku ikke se fejlen...
java kode start
import javax.swing.*;

public class ItemApp{
    public static void main(String[] args) {

        Item kabel = new Item("Wire","kabel","normal",2000,149.00,2003);//her ændres "Wire" Til "Goldwire" (ref. opg 1b (3)) (et uelt ændre kvaæiteten til "high" for at vise guld nok ikke er normal
        JOptionPane.showMessageDialog(null,kabel.toString);
}}
java kode slut
Avatar billede soreno Praktikant
23. oktober 2003 - 18:50 #4
Du mangler et sæt parenteser i dit metodekald.

Sådan:
JOptionPane.showMessageDialog(null,kabel.toString());
Avatar billede shoots Nybegynder
23. oktober 2003 - 19:08 #5
arg ja... havde stirret mig blind...(havde nu ikke regnet med at nogen skulle lave opfaven for mig...)men regende med god hjælp som jeg får nu så mange tak

...
ved du hvad her ville der havde været spørgsmål til men jeg da jeg skrev det op gav løsningen sig selv... så

men igen MANGE TAK for du gider høre på mig
Avatar billede shoots Nybegynder
23. oktober 2003 - 19:16 #6
btw kan man i applicationen brug toString til at samle oplysningerne man inputter ligesom den anden vej?
Avatar billede arne_v Ekspert
23. oktober 2003 - 19:18 #7
toString konverterer et objekt til streng
Avatar billede arne_v Ekspert
23. oktober 2003 - 19:19 #8
Integer.parseInt og dens ekvalenter for andre data typer kan konvertere fra
String til tal:

int v = Integer.parseInt("123");
Avatar billede shoots Nybegynder
23. oktober 2003 - 19:39 #9
jeps så langt her er jeg kommet
CODE START
/*
*Morten helsinghoff
*DMU@RHS 1r-2003
*/


import javax.swing.*;

public class ItemApp{
        public static void main(String[] args) {

        String str2 = JOptionPane.showInputDialog("Indtast det nuværende år");
        int presYear = Integer.parseInt(str2);
        Item item1 = new Item("Wire","kabel","normal",2000,149.00,presYear);//her ændres "Wire" Til "Goldwire" (ref. opg 1b (3)) (eventuelt ændre kvaliteten til "high" for at vise guld nok ikke er normal
        JOptionPane.showMessageDialog(null,item1.toString());
       
       
        String nameProdukt = JOptionPane.showInputDialog("Skriv navn på produkt");
        String nameType = JOptionPane.showInputDialog("Skriv navn på produkt type");
        String nameKvalitet = JOptionPane.showInputDialog("Skriv navn på produktets kvalitet");
        String str = JOptionPane.showInputDialog("Skriv produktets produktions år");
        int prodYear = Integer.parseInt(str);
        String str1 = JOptionPane.showInputDialog("Skriv produktets pris i dkk");
        double prodPrice = Double.parseDouble(str1);
       
       
       
        Item item2 = new Item(nameProdukt,nameType,nameKvalitet,prodYear,prodPrice,presYear);//her indtastes egne produkt oplysninger (ref. opg 1b (2))
        JOptionPane.showMessageDialog(null,item2.toString());
        JOptionPane.showMessageDialog(null,(item1.toString())+"\n"+item2.toString());
}
}
CODE SLUT
og
Code start
Avatar billede shoots Nybegynder
23. oktober 2003 - 19:39 #10
/*
*Morten helsinghoff
*DMU@RHS 1r-2003
*/


public class Item {

    //datafelter
    private String itemName;
    private String itemType;
    private String quality;
    private double price;
    private int year;
    private int thisYear;

    //konstruktøren
    Item (String aName, String aType, String aQual,int aYear,double aPrice, int  aPresent){
        itemName = aName;
        itemType = aType;
        quality = aQual;
        year = aYear;
        price = aPrice;
          thisYear = aPresent;
      }
   
       
    //metoder
    public String getName ( )  {
            return itemName;
            }

    public void setName (String aName)  {
            itemName = aName;
            }
    public String getQual ( )  {
            return quality;
            }

    public void setQual (String aQual)  {
            quality = aQual;
            }
   
   
    public String getType ( )  {
            return itemType;
            }

    public void setType (String aType)  {
            itemType = aType;
            }

    public int getYear ( )  {
            return year;
            }

    public void setYear (int aYear)  {
            year = aYear;
            }
    public double getPrice ( )  {
                return price;
                }

    public void setPrice (int aPrice)  {
                price = aPrice;
}   
      public void setThisYear (int aPresent)  {
            thisYear = aPresent;
            }
    public int age (int thisYear )  {
            return (thisYear-year);
    }
    public String toString () {
            return ("Name: " + itemName+"."  +
                    "\nType: " + itemType+"." +
                    "\nQuality: " + quality+"." +
                    "\nYear of production: " + year+"." +
                    "\nCost is" + price + " dkk." +
                    "\nYear elapsed since production " +(thisYear-year)+" years.");

}    }
Avatar billede shoots Nybegynder
23. oktober 2003 - 19:40 #11
kunne det være et godt forslag til at en løsning til 1b??
Avatar billede soreno Praktikant
23. oktober 2003 - 19:46 #12
Eneste kommentar jeg har er til din kommentar:

//her indtastes egne produkt oplysninger (ref. opg 1b (2))

Det er jo faktisk ikke der man indtaster, det er der objektet bliver oprettet.



Når der står "vise hvordan du i koden kan udskrive alle data for de 2 objekter item1 henholdsvis item2"

Betyder det så du skal angive hvor i koden det sker (med en kommentar) ?
  - For så har du glemt det :-)
Avatar billede arne_v Ekspert
23. oktober 2003 - 19:47 #13
Ja.

Bortset fra at jeg ike ka se at du ændrer item1.
Avatar billede soreno Praktikant
23. oktober 2003 - 19:47 #14
Bemærk iøvrigt at jeg ikke har prøvekørt dit program. Kun kigget i koden.
Avatar billede shoots Nybegynder
23. oktober 2003 - 19:51 #15
...til soreno ...
kiggede lige på det... and ure right tror det er det de mener selv om... ved ikke måske skulle det være formuleret anderledes
... arne v...
mener du jeg skallave en kode linje mere så de kan se jeg rent fkatisk har ændret den
Avatar billede arne_v Ekspert
23. oktober 2003 - 19:53 #16
Ja - du skal vel kalde setName for at ændre den.
Avatar billede shoots Nybegynder
23. oktober 2003 - 20:24 #17
hmm okay... det forstår jeg ikke helt
Avatar billede shoots Nybegynder
23. oktober 2003 - 20:26 #18
setName = "goldwire"---- er det nok
Avatar billede arne_v Ekspert
23. oktober 2003 - 20:28 #19
Nej - det er en metode.

variabel.metode(værdi);
Avatar billede shoots Nybegynder
23. oktober 2003 - 20:29 #20
ie... String.setName("GoldWire")???
Avatar billede arne_v Ekspert
23. oktober 2003 - 20:32 #21
String er en type. item1 er din variabel (instans).

item1.setName("GoldWire");
Avatar billede shoots Nybegynder
23. oktober 2003 - 20:32 #22
ahh...
Avatar billede shoots Nybegynder
05. maj 2004 - 09:17 #23
bøh
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
Kurser inden for grundlæggende programmering

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