Gå til innhold

[Løst] Trenger hjelp med en Java-oppgave.


Anbefalte innlegg

Lurer på om noen vil hjelpe meg, og guide meg igjennom oppgaven. Tenkte vi kunne bruke skype.

 

Oppgaven er nok ikke sånn veldig vanskelig, det er snakk om å hente inn informasjon fra en ekstern kilde, legge informasjonen i forskjellige tabeller og gjøre det mulig for en bruker å hente den tabellene h*n vil. Noen som kan hjelpe?

 

Send meg en PM så gir jeg brukernavnet mitt på Skype :)

Lenke til kommentar
Videoannonse
Annonse

Har en del koder liggende fra tidligere hvor man henter/lagrer informasjon til tekst dokument, database, osv, som jeg kunne ha postet til deg slik at du får sett på. Hvilken type lagringsmedier vil du hente informasjon fra?

 

Dataene er tilgjengelig via Databse, CSV eller XML. Vil helst ha det som er enklest.

Endret av niomi
Lenke til kommentar

Har laget 3 klasser, som er listet under:

 

package Classes;
public class TipLag implements java.io.Serializable {
   private String aar;
   private String lagNavn;
   private String antallPoeng;
   private String antallSpillteKamper;

   public TipLag(String aar, String lagNavn, String antallPoeng, String antallSpillteKamper){
    this.aar = aar;
    this.lagNavn = lagNavn;
    this.antallPoeng = antallPoeng;
    this.antallSpillteKamper = antallSpillteKamper;
   }

   public String getAar(){
    return aar;
   }

   public void setAar(String nyttAar){
    aar = nyttAar;
   }

   public String getLagNavn(){
    return lagNavn;
   }

   public void setLagNavn(String nyttLagNavn){
    lagNavn = nyttLagNavn;
   }

   public String getAntallPoeng(){
    return antallPoeng;
   }

   public void setAntallPoeng(String nyttAntallPoeng){
    antallPoeng = nyttAntallPoeng;
   }

   public String getAntallSpillteKamper(){
    return antallSpillteKamper;
   }

   public void setAntallSpillteKamper(String nyttAntallSpillteKamper){
    antallSpillteKamper = nyttAntallSpillteKamper;
   }

   public String toString(){
    return getAar()+ ": " + getLagNavn() + ", " + getAntallPoeng() + ", " + getAntallSpillteKamper();
   }
}

 

Klassen Cleaner:

 

package Classes;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.*;
public class Cleaner {
   private String dbNavn = "jdbc:derby://localhost:1527/LagTippe;user=asd;password=asd";
   private Connection forbindelse;
   public static void lukkResSet(ResultSet res) {
    try {
	    if (res != null) {
		    res.close();
	    }
    } catch (SQLException e) {
	    skrivMelding(e, "lukkResSet()");
    }
   }
   public static void lukkSetning(Statement stm) {
    try {
	    if (stm != null) {
		    stm.close();
	    }
    } catch (SQLException e) {
	    skrivMelding(e, "lukkSetning()");
    }
   }
   public static void lukkForbindelse(Connection forbindelse) {
    try {
	    if (forbindelse != null) {
		    forbindelse.close();
	    }
    } catch (SQLException e) {
	    skrivMelding(e, "lukkForbindelse()");
    }
   }
   public static void rullTilbake(Connection forbindelse) {
    try {
	    if (forbindelse != null && !forbindelse.getAutoCommit()) {
		    forbindelse.rollback();
	    }
    } catch (SQLException e) {
	    skrivMelding(e, "rollback()");
    }
   }
   public static void settAutoCommit(Connection forbindelse) {
    try {
	    if (forbindelse != null && !forbindelse.getAutoCommit()) {
		    forbindelse.setAutoCommit(true);
	    }
    } catch (SQLException e) {
	    skrivMelding(e, "settAutoCommit()");
    }
   }
   public static void skrivMelding(Exception e, String melding) {
    System.err.println("*** Feil oppstÂtt: " + melding + ". ***");
    e.printStackTrace(System.err);
   }
   private void ÅpneForbindelse() {
    try {
	    forbindelse = DriverManager.getConnection(dbNavn);
	    System.out.println("Databaseforbindelse opprettet");
    } catch (SQLException e) {
	    Cleaner.skrivMelding(e, "Konstrukt¯ren");
	    Cleaner.lukkForbindelse(forbindelse);
    }
   }
   private void lukkForbindelse() {
    System.out.println("Lukker databaseforbindelsen");
    Cleaner.lukkForbindelse(forbindelse);
   }
   public static void main(String[] args){

}
}

 

Klassen TestTabell:

 

package Classes;
import java.awt.*;
import java.util.ArrayList;
import javax.swing.*;
import javax.swing.event.*;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
class TabellVindu extends JFrame {
   String databasenavn = "jdbc:derby://localhost:1527/LagTippe;user=asd;password=asd";
   private Connection forbindelse;
   static final int KOLLONER = 4;
   private ArrayList<TipLag> lagene = new ArrayList<TipLag>();
   private void ÂpneForbindelse() {
    try {
	    forbindelse = DriverManager.getConnection(databasenavn);
	    System.out.println("Databaseforbindelse opprettet");
    } catch (SQLException e) {
	    Cleaner.skrivMelding(e, "Konstruktøren");
	    Cleaner.lukkForbindelse(forbindelse);
    }
   }
   private void lukkForbindelse() {
    System.out.println("Lukker databaseforbindelsen");
    Cleaner.lukkForbindelse(forbindelse);
   }
   public void getInformasjonDB(String aaret) {
    String databasedriver = "org.apache.derby.jdbc.ClientDriver";
    Connection forbindelse = null;
    try { // feilutgang hvis databasetilkopling mislykkes
	    Class.forName(databasedriver);
//		    String databasenavn2 = "jdbc:derby://localhost:1527/TipLag;user=asd;password=asd";
	    String databasenavn = "jdbc:derby://localhost:1527/LagTippe;user=asd;password=asd";
	    forbindelse = DriverManager.getConnection(databasenavn);
    } catch (Exception e) {
	    System.out.println("Feil 1: " + e);
	    System.exit(0); // avslutter
    }
    Statement setning = null;
    ResultSet res = null;
    try {
	    setning = forbindelse.createStatement();
	    res = setning.executeQuery("select * from TIPPELAG where aar = '"+ aaret +"' ");
	    int i = 0;
	    while (res.next()) {
		    String aar2 = res.getString("aar");
		    String lagnavn = res.getString("lagnavn");
		    String antallpoeng = res.getString("antallpoeng");
		    String antallkamper = res.getString("antallkamper");
		    lagene.add(new TipLag(aar2, lagnavn, antallpoeng, antallkamper));
	    }
    } catch (SQLException e) {
	    System.out.println("Feil 2: " + e);
    } finally {
	    try {
		    if (res != null) {
			    res.close();
		    }
	    } catch (SQLException e) {
		    System.out.println("Feil 3: " + e);
	    } finally {
		    try {
			    if (setning != null) {
				    setning.close();
			    }
		    } catch (SQLException e) {
			    System.out.println("Feil 4: " + e);
		    } finally {
			    try {
				    if (forbindelse != null) {
					    forbindelse.close();
				    }
			    } catch (SQLException e) {
				    System.out.println("Feil 5:" + e);
			    }
		    } // finally, lukking av Statement-objekt
	    } // finally, lukking av ResultSet-objekt
    } // finally
   }
   String[][] Lagene2 = new String[lagene.size()][KOLLONER];
   public void getToTwoDimArray() {
    for (int i = 0; i < lagene.size(); i++) {
	    Lagene2[i][0] = lagene.get(i).getAar();
	    Lagene2[i][1] = lagene.get(i).getLagNavn();
	    Lagene2[i][2] = lagene.get(i).getAntallPoeng();
	    Lagene2[i][3] = lagene.get(i).getAntallSpillteKamper();
    }
   }
   static final String[] KOLONNENAVN = {"År", "Navn", "Poeng", "Antall Kamper"};
   private JLabel valget = new JLabel("Du har ennå ikke valgt lag.");
   private JTable lagTabell = new JTable(Lagene2, KOLONNENAVN);  // lager tabellen
   public TabellVindu(String tittel) {
    setTitle(tittel);
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    /* Legger tabellen inn i et rullefelt */
    JScrollPane rullefeltMedTabell = new JScrollPane(lagTabell);
    add(rullefeltMedTabell, BorderLayout.CENTER);
    /* Setter størrelsen på vinduet tabellen vises i */
    lagTabell.setPreferredScrollableViewportSize(new Dimension(300, 600));
    /* Setter valgmodellen slik at brukeren kun kan velge én linje av gangen */
    lagTabell.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
    /* Lytteren må kobles til den tilhørende valgmodellen. */
    ListSelectionModel linjevalg = lagTabell.getSelectionModel();
    LinjeLytter lytter = new LinjeLytter();
    linjevalg.addListSelectionListener(lytter);
    add(valget, BorderLayout.SOUTH);
    pack();
   }
   /* Lytteren fanger opp alle klikk på linjer i tabellen. */
   private class LinjeLytter implements ListSelectionListener {
    public void valueChanged(ListSelectionEvent hendelse) {
	    int linje = lagTabell.getSelectedRow();
	    valget.setText("Du har valgt år " + lagTabell.getValueAt(linje, 0)
			    + " for lag " + lagTabell.getValueAt(linje, 1) + " med antall poeng:" + lagTabell.getValueAt(linje, 2) + " og antall kamper: " + lagTabell.getValueAt(linje, 3));
    }
   }
}
class TestTabell {
   public static void main(String[] args) {
    TabellVindu etVindu = new TabellVindu("Valg av lag");
    String innAar = JOptionPane.showInputDialog("Søk: År:");
    String aar = innAar;
    etVindu.getInformasjonDB(aar);
    etVindu.getToTwoDimArray();
    etVindu.setVisible(true);
   }
}

 

I NetBeans velger du "Services" oppe til venstre. Der åpner du "Databases" og høyreklikker på JavaDB og velger "Create Database...". Så skriver du inn Navn LagTippe, brukernavn: asd og passord: asd.

Når dette er gjort skal databasen være opprettet. Høyreklikk på databasen og trykk "Connect".

Når du er connected høyreklikker du igjen og velger "Execute Command..." og skriver inn følgende kode:

CREATE TABLE tippelag(

aar VARCHAR(10) NOT NULL,

lagnavn VARCHAR(20) NOT NULL,

antallpoeng VARCHAR(6) NOT NULL,

antallkamper VARCHAR(6) NOT NULL

);

insert into tippelag values ('2013', 'Rosenborg', '9', '3');

insert into tippelag values ('2013', 'Aalesund', '9', '3');

insert into tippelag values ('2012', 'Rosenborg', '55', '30');

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...