• HelloWorld

    UML diagram behöverhjälp

    jaghopparhögt skrev 2013-07-04 22:26:33 följande:
    Jag separerade på klasserna och la dom i olika filer till att börja med, finns ingen anledning att krångla till det med två klasser i en fil.  Sen i mainmetiden så skapar du ett test-objekt, du ska ha ett vara objekt.
    Ok men jag ger upp nu... en i min klass hade använt två klasser och det var tydligen inga problem så att jag är alldeles för snurrig för att förstå nu..

    Vad jag trodde var att jag skapat ett test objekt genom att skriva
     
    Test var = new Test();
       Det här kommer ta tid för mig att lära mig ser jag... hur ni klarade det är jag imponerad över
  • HelloWorld
    jaghopparhögt skrev 2013-07-04 22:40:25 följande:
    Jag stavar som jag hade druckit tre liter vin när ja bara druckit en liter :(

    Konstruktorn i vara ska dessutom sätta en massa data, när de anropas i Test är den tom.
    Men så du menar att det här //tildela konstruktorer för de deklarerade variablerna
    public Vara (String name, int antal, double price) {
    this.name = name;
    this.antal = antal;
    this.price = price;

    inte är korrekt angivna konstruktorer för Vara?

    Du menar att jag ska lägga till data i Test eller ska det vara tomt?

    Sorry om ja e lite trögfattad eller så kanske det är vinet ;)   
  • HelloWorld
    jaghopparhögt skrev 2013-07-04 22:52:30 följande:
    Visa mig din mainmetod i Test.
    class Test {
    public void main(String[] args){
    }
    Test var = new Test();

    sen börjar var.setName osv... 
  • HelloWorld
    jaghopparhögt skrev 2013-07-04 22:58:26 följande:
    Men varför väljer du att skapa ett testobjekt i testklassen? Det är som du skulle följa ett recept för hur man kokar grönsakssoppa och en av ingredienserna är grönsakssoppa. Du har ingen testklass än så du kaj inte skapa ett objekt av klassen. Vi struntar i dom andra nu och fokuserar på mainmetoden som egentligen är en konstruktor.
    har jag ingen test klass? vad är då class Test {
    public void main(String[] args){
    }

    om det inte är en klass? Nu börjar det bli snurrigt här....
  • HelloWorld
    jaghopparhögt skrev 2013-07-04 23:08:02 följande:
    Du håller ju på att bygga den,  att skapa ett testobjekt där är som att be sig själv om hjälp.
    Du anropar den metoden du håller på att skriva.
    Du ska testa varaklassen, därför ska du skapa ett vara objekt.
    aah ok  
  • HelloWorld
    jaghopparhögt skrev 2013-07-04 23:11:55 följande:
    Försök igen nu, ta en metod i taget och krångla inte till det i onödan.
    jaghopparhögt skrev 2013-07-04 23:11:55 följande:
    Försök igen nu, ta en metod i taget och krångla inte till det i onödan.
    ja jag ska försöka... skapade Vara var = new Vara (); 

    men det gav inget alls... det står att constructor vara in vara cannot be applied to given types istället. 
     
    Det värsta är att jag själv liksom inte kan förstå problemet. Hur mycket jag än läser så förstår jag ju typ inte.. error meddelandena i netbeans är ju rena katastrofen, hur ska man förstå vad fan de menar egentligen.... åh min hjärna... det här är för mycket ..flera dagar med samma uppgift..helt otroligt

  • HelloWorld
    jaghopparhögt skrev 2013-07-04 23:26:00 följande:
    Okej vi gör så här.
    Först kompilerar din varaklass, alltså enbart den?
    ja....
  • HelloWorld
    jaghopparhögt skrev 2013-07-04 23:36:43 följande:
    Då fortsätter vi,  ligger Test i en annan fil nu?
    Du ska nu i test ha en mainmetod som testar Vara. Du behöver bara en metod nu. Klassen Test ska alltså bara ha en metod, main. Hänger du med såålångt?
    Nej jag har inte lagt över någonting i nån annan fil...  men ok ja ja hänger med... 
     
  • HelloWorld
    jaghopparhögt skrev 2013-07-04 23:49:05 följande:
    Okej då går vi igenom det som ska stå inne i mainmetoden. Först vill du skapa ett ojekt av det du vill testa, sedan vill du testa alla metoderna.

    Vara var = new Vara ();
    Detta har du tidigare skrivit, det är inte korrekt för här anropar du en konstruktor i Vara som tar noll argument. Kolla om det existerar någon sådan.
    ok argument är väl samma som parameter om jag inte misstar mig... innebär det att jag borde tilldela något värde inom parenteserna?

    Alltså för så vitt jag förstått så är Vara var = new Vara (); ett objekt

    och konstruktorer ser väl ut såhär typ :public Bicycle(int startCadence, int startSpeed, int startGear) { gear = startGear; cadence = startCadence; speed = startSpeed; }   
     
  • HelloWorld
    Gräsrot skrev 2013-07-04 23:54:07 följande:

    En sak som HopparHögt skrev också..

    anropet från tesklassen är tomt

    Titta på constructorn du anropar

    Public Vara (String name, int antal, double price)     

    ditt anrop i testen måste spegla detta
     
    Vara var = new Vara("Halstablett", 3 , 12.6);    // en sträng, en integer, en double

    ska du ha den tom måste även costructorn vara tom

    // public vara ();
     
          
    japp precis..det är det jag tänkte..att jag måst etilldela värden
  • HelloWorld
    jaghopparhögt skrev 2013-07-05 00:00:01 följande:
    Men om du ar angett att den ska ta tre argument när du skapar den så kan du inte kalla på den med noll. Då kallar du inte på samma sak. Vara tar  (String name, int antal, double price) som argument.
    näe precis.. så jag antar att det gräsrot bad mig göra är rätt... 
  • HelloWorld
    jaghopparhögt skrev 2013-07-05 00:06:30 följande:
    Mm så nu kan du testa dom andra, printa värdena efter att du skapat objektet och sen ändrar du om med metoderna och printar igen.
    ok då ska ja försöka det.. nu ska jag lämna er ifred era stackare :)
    Jag uppskattar allt ni hjälpt mig med ska ni veta.. :) 
  • HelloWorld

    Sådär ja, då var det kirrat :D


    import java.lang.String;
    class Vara {

    //Deklarerar variabler

    private String name;
    private double price;
    private int antal;

    //tildela konstruktorer för de deklarerade variablerna
    public Vara (String name, int antal, double price) {
    this.name = name;
    this.antal = antal;
    this.price = price;
    } // slut constructor

    public void setName(String name) {
    this.name = name; }

    public void setPrice (double price) {
    this.price = price; }

    public void setAntal (int antal) {
    this.antal = antal; }

    public String getName() {
    return this.name;}

    public double getPrice() {
    return this.price; }

    public int getAntal() {
    return this.antal; }
    }

    //testklassen ska stå som en egen klass
    class Test {
    public static void main(String[] args){
    Vara var = new Vara("Banan",5, 12.5);

    System.out.println("Namnet är " +var.getName() +" och priset är " +var.getPrice() +" och antalet är "+var.getAntal() );// här slutar system.out

    }
    }

    run:
    Namnet är Banan och priset är 12.5 och antalet är 5
    BUILD SUCCESSFUL (total time: 0 seconds)

    Nu ska jag försöka skirva ut detta i en JFrame och textArea ... :D Sen är det kirraaaat. tack tack tack till er, tack vare er börjar jag greppa det här lite bättre. Det är rätt..man måste kämpa lite för att förstå    
  • HelloWorld
    Gräsrot skrev 2013-07-05 20:03:44 följande:
    Grattis kamrat..
    ser du nu.. Du kan ju riktigt bra.. 
    Tack :)

    Nu är det såhär att med risk för att vara tjatig har jag fastnat igen och verkligen läst, letat igenom försökt ersätta med nya tänk och koder igen nu i 2-3 dygn eller vad det nu blir (tappat räkningen)
    Den där koden som ni hjälpte mig med skulle omvandlas till GUI så att variablerna namn, price och antal skulle skrivas in i 3 varsina textfält för att sedan returnera strängen banan , nästa textfält skulle returnera en 12.5 och den tredje 5. Allt detta i en textarea.

    Nu får jag inte till det igen, och jag vet inte om jag sabbar i mitt tänk men jag tycker mig verka gjort rätt. Jag får inte upp något error utan enbart en tom ruta....

    Skickar in koden om nån orkar kika för jag har verkligen slut på hjärnceller.import javax.swing.JFrame;
    import javax.swing.JPanel;
    import javax.swing.JTextArea;
    import javax.swing.JTextField;
    import java.lang.String;
    import java.awt.TextField;

    public class MinVara extends javax.swing.JFrame {

    //Skapar upp variabler
    JFrame frame = new JFrame();
    private String name;
    private int antal;
    private double price;

    /**
    * Creates new form MinVara
    */
    //Skapar konstruktor för

    public MinVara(String name, int antal, double price) {
    this.name = name; //this "Det här objektet name"
    this.antal = antal; //""
    this.price = price;//""

    initComponents();
    }

    // slut constructor

    @Override
    public void setName(String name) {
    this.name = name; }

    public void setAntal (int antal) {
    this.antal = antal; }

    public void setPrice (double price) {
    this.price = price; }

    @Override
    public String getName() {
    return this.name;}

    public int getAntal() {
    return this.antal; }

    public double getPrice() {
    return this.price; }

    /**
    * This method is called from within the constructor to initialize the form.
    * WARNING: Do NOT modify this code. The content of this method is always
    * regenerated by the Form Editor.
    */
    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">
    private void initComponents() {

    jPanel1 = new javax.swing.JPanel();
    jScrollPane1 = new javax.swing.JScrollPane();
    jTextArea1 = new javax.swing.JTextArea();
    jTextField1 = new javax.swing.JTextField();
    jTextField2 = new javax.swing.JTextField();
    jTextField3 = new javax.swing.JTextField();
    jButton1 = new javax.swing.JButton();

    setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

    jTextArea1.setColumns(20);
    jTextArea1.setRows(5);
    jScrollPane1.setViewportView(jTextArea1);

    jTextField1.setText("jTextField1");

    jTextField2.setText("jTextField2");

    jTextField3.setText("jTextField3");

    jButton1.setText("jButton1");
    jButton1.addActionListener(new java.awt.event.ActionListener() {
    public void actionPerformed(java.awt.event.ActionEvent evt) {
    jButton1ActionPerformed(evt);
    }
    });

    javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
    jPanel1.setLayout(jPanel1Layout);
    jPanel1Layout.setHorizontalGroup(
    jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
    .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel1Layout.createSequentialGroup()
    .addGap(36, 36, 36)
    .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
    .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
    .addComponent(jTextField1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
    .addComponent(jTextField2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
    .addComponent(jTextField3, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
    .addComponent(jButton1, javax.swing.GroupLayout.PREFERRED_SIZE, 137, javax.swing.GroupLayout.PREFERRED_SIZE))
    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
    .addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 194, Short.MAX_VALUE)
    .addGap(27, 27, 27))
    );
    jPanel1Layout.setVerticalGroup(
    jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
    .addGroup(jPanel1Layout.createSequentialGroup()
    .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
    .addGroup(jPanel1Layout.createSequentialGroup()
    .addContainerGap()
    .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 249, javax.swing.GroupLayout.PREFERRED_SIZE))
    .addGroup(jPanel1Layout.createSequentialGroup()
    .addGap(59, 59, 59)
    .addComponent(jTextField1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
    .addGap(18, 18, 18)
    .addComponent(jTextField2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
    .addGap(18, 18, 18)
    .addComponent(jTextField3, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
    .addComponent(jButton1, javax.swing.GroupLayout.PREFERRED_SIZE, 47, javax.swing.GroupLayout.PREFERRED_SIZE)))
    .addContainerGap(40, Short.MAX_VALUE))
    );

    javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
    getContentPane().setLayout(layout);
    layout.setHorizontalGroup(
    layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
    .addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
    );
    layout.setVerticalGroup(
    layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
    .addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
    );

    pack();
    }// </editor-fold>

    private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
    jTextArea1.setText(null); //tömmer textarean
    name = jTextField1.getText();
    antal = Integer.parseInt( jTextField3.getText() );
    price = Double.parseDouble(jTextField2.getText() );

    jTextArea1.setText(jTextField1.getText());
    jTextArea1.setText(jTextField2.getText());
    jTextArea1.setText(jTextField3.getText());

    //Deklarerar variabler och tilldelar dem värden
    MinVara var = new MinVara("banan",5, 12.5);

    jTextArea1.append("Varan består av " +var.getName() +" och priset är " +var.getPrice() +"kr och antalet är "+var.getAntal() );

    }

    /**
    * @param args the command line arguments
    */
    public static void main(String args[]) {
    /*
    * Set the Nimbus look and feel
    */
    //<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
    /*
    * If Nimbus (introduced in Java SE 6) is not available, stay with the
    * default look and feel. For details see
    * download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html
    */
    try {
    for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
    if ("Nimbus".equals(info.getName())) {
    javax.swing.UIManager.setLookAndFeel(info.getClassName());
    break;
    }
    }
    } catch (ClassNotFoundException ex) {
    java.util.logging.Logger.getLogger(MinVara.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
    } catch (InstantiationException ex) {
    java.util.logging.Logger.getLogger(MinVara.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
    } catch (IllegalAccessException ex) {
    java.util.logging.Logger.getLogger(MinVara.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
    } catch (javax.swing.UnsupportedLookAndFeelException ex) {
    java.util.logging.Logger.getLogger(MinVara.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
    }
    //</editor-fold>

    /*
    * Create and display the form
    */
    java.awt.EventQueue.invokeLater(new Runnable() {
    @Override
    public void run() {
    JFrame frame = new JFrame("Resultat");
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    frame.setVisible(true);

    }
    });
    }
    // Variables declaration - do not modify
    private javax.swing.JButton jButton1;
    private javax.swing.JPanel jPanel1;
    private javax.swing.JScrollPane jScrollPane1;
    private javax.swing.JTextArea jTextArea1;
    private javax.swing.JTextField jTextField1;
    private javax.swing.JTextField jTextField2;
    private javax.swing.JTextField jTextField3;
    // End of variables declaration
    }  
  • HelloWorld
    jaghopparhögt skrev 2013-07-08 16:23:35 följande:
    Men vad är det som är fel? Och snälla använd pastie :)
    ok sorry... :)

    Jag tror jag måste använda mig av input metod kanske... grejen är att jag jag inte få till biten där jag ska skriva in en strängen "namn"  och få ut svaret banan i en textarea
    nästa textfält ska jag kunna skriva pris och få ut 12.5 som svar i textarea
    och sista ska jag skriva antal och få ut 5 i textarean. Just nu är felet att det inte fungerar och jag får bara upp en blank ruta men inga errors

    Men jag antar jag måste ha med input metoden men jag vet inte riktigt vart jag ska klämma in den..  Försökte skapa en container också som det stod nånstans att man skulle men det funkar inte!

    http://pastie.org/8121493 
  • HelloWorld
    jaghopparhögt skrev 2013-07-08 17:55:17 följande:
    Men du ska ju plocka ut värdena ur guit som ritas upp?
    Jag har tydligen förstått vår uppgift helt fel. 

    Vi ska skriva in priset, antalet och varans namn i textfält sen ska samma visas i text area sen.JAg gjorde det  mer komplicerat än jag behövde... suck
  • HelloWorld
    jaghopparhögt skrev 2013-07-08 18:33:26 följande:
    Du kan kolla lite t ex här.

    " rel="nofollow" target="_blank">



    Ni verkar ha fått väldigt mycket kod av er lärare, måste ni använda denna?
    Nu har jag försökt fixa mitt fel 
    http://pastie.org/8121722

    Nej den koden jag klistrade in var det som skapats by default av designen, jag tog bort den denna gången från pastie så det ska synas bättre.

    Nu tycker jag liksom att det borde fungera men icke sa nicke. Är det såhär man  blr en bra programmerare? Genom att sitta hemma och ruttna i 5 dygn i sträck...hå hå jaja :)  
  • HelloWorld
    jaghopparhögt skrev 2013-07-08 19:16:38 följande:
    Men exakt vad händer när du kör koden?
    En liten ruta dyker upp helt tillplattad som jag får förstora och den är helt grå..dvs dyker inte upp något alls.. :/
  • HelloWorld
    jaghopparhögt skrev 2013-07-08 19:16:38 följande:
    Men exakt vad händer när du kör koden?
    Ingen textArea , inga textfält... inget alls alltså.. 
  • HelloWorld
    jaghopparhögt skrev 2013-07-08 20:07:39 följande:
    Till att börja med vad utgår du ifrån när du kodar, vilken litteratur använder du?
    Dietels upplaga 9, föreläsningar vi har i skolan samt googlar. 
     
Svar på tråden UML diagram behöverhjälp