Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Java- Pomoc oko zadatka

[es] :: Java :: Java- Pomoc oko zadatka

[ Pregleda: 1760 | Odgovora: 8 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

shocknp
zeljko maksimovic
beograd

Član broj: 333605
Poruke: 20
*.dynamic.sbb.rs.



Profil

icon Java- Pomoc oko zadatka01.06.2016. u 23:10 - pre 51 meseci
Zdravo svima. Imam problem sa resavanjem zadatka,pa bih vas zamolio za pomoc.Poceo sam da radim,ali ne ide.

Zadatak glasi:

Korišćenjem Apache POI biblioteke potrebno je napraviti Word ili Excel dokument koji je profaktura. Profaktura treba da ima sledeći izgled:

Marcel Proust Pleasures and Days Alma Books 14.95
James Joyce Portrait of the Artist as a Young Man Collector's Library 9.95

Sum: 24,9

Potrebno je napraviti program koji korisniku dozvoljava da na osnovu identifikacionog broja knjige dodaje objekte klase Knjige sa datim podacima u listu a zatim po završetku rada sa programom da se generiše dokument sa profakturom.

Dakle trebam da napravim program koji ce za predefinisanu listu u klasi Program, napravi profakturu u excelu.Korisnik unosi id knjige i nakon unosa izdvajaju se knjige sa tim id-om i upsuju u excel dokument. knjiga pored id sadrzi i naziv,autora i cenu.

Evo mog koda:


Klasa Program-(Main):
Code:
package paket;

import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Scanner;

public class Program {

    public static void main(String[]args) throws FileNotFoundException, IOException{
        Excel.profaktura();
        ArrayList<Knjiga> knjiga = new ArrayList<>();
        knjiga.add(new Knjiga(1,"Nicija","Vesna Dedic Milojevic",500));
        knjiga.add(new Knjiga(2,"Suvenir","Tes Geritsen",679));
        knjiga.add(new Knjiga(3,"Trebalo je da znas","Dzin Hanf Korelic",719));
        knjiga.add(new Knjiga(4,"Tren neizbeznog","Zorana Schultz",559));
        knjiga.add(new Knjiga(5,"Cizmasi","Dragoslav Mihailovic",764));
        Korpa.setKorpa(knjiga);
        
        System.out.println("* Knjige u ponudi *");
        for(Knjiga k : knjiga)
            System.out.println(k);
        
        System.out.println("");
        System.out.print("* Unesite ID knjige zeljene knjige. Za kraj unosa upisite (0): ");
        
        ArrayList<Integer> porudzbine = new ArrayList<>();
        Korpa.setId(porudzbine);
        
        @SuppressWarnings("resource")
        Scanner scan = new Scanner(System.in);
        int id;
        do{
            id=scan.nextInt();
            if (id == 0){
            System.out.println("Uneli ste '0' za kraj.");
            break;
            }
            porudzbine.add(id);
            
        }while(true);
        
        System.out.println("");
        System.out.println("* Izabrali ste sledece: *");
        for(int i=0;i<porudzbine.size();i++){
        System.out.println(Korpa.vracaKnjige().get(i));
        }
    }
}


Klasa Knjiga
Code:
package paket;

import java.util.ArrayList;

public class Knjiga {
    private int id;
    private String naziv,autor;
    private double cena;
    
    public Knjiga(int id, String naziv, String autor, double cena){
        this.id=id;
        this.naziv=naziv;
        this.autor=autor;
        this.cena=cena;
    }
    
    public static ArrayList<Knjiga> vracaKnjige(int id){
        
        return null;
    }
    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getNaziv() {
        return naziv;
    }

    public void setNaziv(String naziv) {
        this.naziv = naziv;
    }

    public String getAutor() {
        return autor;
    }

    public void setAutor(String autor) {
        this.autor = autor;
    }

    public double getCena() {
        return cena;
    }

    public void setCena(double cena) {
        this.cena = cena;
    }

    public String toString() {
        return "ID: " + id + "| Naziv: " + naziv + "| Autor: " + autor + "| Cena: " + cena;
    }
    
}


Klasa Excel
Code:
package paket;

import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.ArrayList;

import org.apache.poi.hssf.usermodel.*;
import org.apache.poi.ss.usermodel.*;


public class Excel {
    
    public static void profaktura(){
        try{
        HSSFWorkbook workbook = new HSSFWorkbook();
        HSSFSheet sheet = workbook.createSheet("Profaktura");
        HSSFRow row = sheet.createRow(0);
        HSSFCell cell = row.createCell(0);
        
        String[] nazivi = {"ID", "Naziv", "Autor", "Cena"};
        
        ArrayList<Integer> id = Korpa.getId();
        
        for (int i = 0; i < nazivi.length; i++) {
            cell = row.createCell(i);
            cell.setCellValue(nazivi[i]);
        }
        workbook.write(new FileOutputStream("tabela.xls"));
        workbook.close();
        
    }
        catch(Exception e){
            e.printStackTrace();
        }
    }
}


Nadam se odgovoru.Hvala unapred!

[Ovu poruku je menjao shocknp dana 02.06.2016. u 00:24 GMT+1]
 
Odgovor na temu

galaksija
Novi Sad

Član broj: 49290
Poruke: 82



+4 Profil

icon Re: Java- Pomoc oko zadatka01.06.2016. u 23:43 - pre 51 meseci
Polako prijatelju, provo moraš 'sam' da znaš šta te muči da pa nama polako objasniš u čemu je problem.

U ovom tvom pitanju ima 50-setak, pa recim oda ne znam ni ja sam !!!

Samo polako i korak po korak ...
 
Odgovor na temu

galaksija
Novi Sad

Član broj: 49290
Poruke: 82



+4 Profil

icon Re: Java- Pomoc oko zadatka01.06.2016. u 23:44 - pre 51 meseci
Šta te muči...

PRAVLJENJE EXCELA
UNOS
....
 
Odgovor na temu

galaksija
Novi Sad

Član broj: 49290
Poruke: 82



+4 Profil

icon Re: Java- Pomoc oko zadatka01.06.2016. u 23:45 - pre 51 meseci
Koju ti grešku javlja kompajler...postuj .... ETC ...
 
Odgovor na temu

galaksija
Novi Sad

Član broj: 49290
Poruke: 82



+4 Profil

icon Re: Java- Pomoc oko zadatka01.06.2016. u 23:49 - pre 51 meseci
i još samo nešto.

Kako misliš da ti bilo ko odgovori na pitanje, niti si dao biblioteke koje idu uz tvoj kod, niti si dao projekat(bundle).

Znači ovako, ja sada moram da preuzmem sve biblioteke koje mi trebaju samo da bi tebi pomogao, pa daj malo se potrudi !!!
 
Odgovor na temu

galaksija
Novi Sad

Član broj: 49290
Poruke: 82



+4 Profil

icon Re: Java- Pomoc oko zadatka01.06.2016. u 23:51 - pre 51 meseci
Ovako AD HOCK

Code:

        Excel.profaktura();
        ArrayList<Knjiga> knjiga = new ArrayList<>();
        knjiga.add(new Knjiga(1,"Nicija","Vesna Dedic Milojevic",500));
        knjiga.add(new Knjiga(2,"Suvenir","Tes Geritsen",679));
        knjiga.add(new Knjiga(3,"Trebalo je da znas","Dzin Hanf Korelic",719));
        knjiga.add(new Knjiga(4,"Tren neizbeznog","Zorana Schultz",559));
        knjiga.add(new Knjiga(5,"Cizmasi","Dragoslav Mihailovic",764));
        Korpa.setKorpa(knjiga);


Excel.profaktura(); PRAVIŠ OBJEKAT BEZ INICIJALIZACIJE !
 
Odgovor na temu

shocknp
zeljko maksimovic
beograd

Član broj: 333605
Poruke: 20
*.dynamic.sbb.rs.



Profil

icon Re: Java- Pomoc oko zadatka02.06.2016. u 12:30 - pre 51 meseci
Izvinjavam se.Zurio sam sinoc pa nisam lepo ni objasnio.

evo celog projekta:

PROJEKAT

U klasi korpa sam napravio metodu vracaKnjige koja vraca ArrayList<Knjiga> sa id,naziv,autora i cenu knjige za id koji korisnik unese u konzoli.Korisnik moze da unese vise id-a i svi oni se prosledjuju metodi vracaKnjige. Sada trebam da upisem to u excel-u,ali ne znam kako da svaki atribut upisem u zasebnu celiju.Korisim Apache PIO bilioteku.
Taj objekat sam napravio da bih video da li upisuje u excel-u.
 
Odgovor na temu

banesss
Java Dev.
Beograd

Član broj: 269748
Poruke: 7
178.250.138.*



+1 Profil

icon Re: Java- Pomoc oko zadatka02.06.2016. u 20:41 - pre 51 meseci
Klasa abstract product :

Code:
 public abstract class Product {

    private int id;
    private double price;
    private String title;
    
    public Product(final int id,final String title,final double price){
        super();
        this.id=id;
        this.price=price;
        this.title=title;
    }

    public int getId() {
        return id;
    }
    public void setId(int id) {
        this.id = id;
    }
    public double getPrice() {
        return price;
    }
    public void setPrice(double price) {
        this.price = price;
    }
    public String getTitle() {
        return title;
    }
    public void setTitle(String title) {
        this.title = title;
    }
    
     public String toString() {
            return "ID: " + id + "| Naziv: " + title + "| Cena: " + price;
        }
}  


Klasa knjiga :

Code:
public final class Knjiga extends Product{

    private String author;
    
    public Knjiga(int id, String naziv, final String author,double cena){
        super(id,naziv,cena);
        this.author=author;
    }

    public String getAuthor() {
        return author;
    }
    public void setAuthor(String author) {
        this.author = author;
    }
}



Klasa Korpa
Code:
public final class Korpa {

    private String id;
    private List<Product> basket = new ArrayList<Product>();
    
    public void addItem(final Product item){
        this.basket.add(item);
    }
    public void removeItem(final Product item){
        this.basket.remove(item);
    }
    public Korpa(){
        this.id=UUID.randomUUID().toString();
    }
    public List<Product> getBasket() {
        return basket;
    }
    public void setBasket(List<Product> basket) {
        this.basket = basket;
    }
    public String getId() {
        return id;
    }
    public void setId(String id) {
        this.id = id;
    }
}



Klasa Excel :

Code:
public final class Excel {

    public static void profaktura(final Korpa basket){
        try{
        HSSFWorkbook workbook = new HSSFWorkbook();
        HSSFSheet sheet = workbook.createSheet("Profaktura");
        HSSFRow row = sheet.createRow(0);
        HSSFCell cell = row.createCell(0);
        
        String[] nazivi = {"ID", "Naziv", "Autor", "Cena"};
        
      
        for (int i = 0; i < nazivi.length; i++) {
            cell = row.createCell(i);
            cell.setCellValue(nazivi[i]);
        }
        int[] i={ 1 };
        double[] sum={0};
        basket.getBasket().stream().forEachOrdered(e->{
            sum[0]+=e.getPrice();
            String[] item = {String.valueOf(e.getId()),String.valueOf(e.getTitle()),String.valueOf(e.getTitle()),String.valueOf(e.getPrice())};
            HSSFRow rows = sheet.createRow(i[0]);
            HSSFCell cells = rows.createCell(0);
             for (int j = 0; j < nazivi.length; j++) {
                 cells = rows.createCell(j);
                 cells.setCellValue(item[j]);
             }
            
            i[0]++;
            
        });
        
        HSSFRow rows = sheet.createRow(i[0]);
        HSSFCell cells = rows.createCell(2);
        cells.setCellValue("sum : ");
        HSSFCell summ = rows.createCell(3);
        summ.setCellValue(sum[0]);
        
        workbook.write(new FileOutputStream("g:/tabela.xls"));
        workbook.close();
        
    }
        catch(Exception e){
            e.printStackTrace();
        }
    }
}


Klasa program:

Code:
 public class Program {

    public static void main(String[]args) throws FileNotFoundException, IOException{
        ArrayList<Knjiga> books = new ArrayList<Knjiga>();
        books.add(new Knjiga(1,"Nicija","Vesna Dedic Milojevic",500.00));
        books.add(new Knjiga(2,"Suvenir","Tes Geritsen",679));
        books.add(new Knjiga(3,"Trebalo je da znas","Dzin Hanf Korelic",719));
        books.add(new Knjiga(4,"Tren neizbeznog","Zorana Schultz",559));
        books.add(new Knjiga(5,"Cizmasi","Dragoslav Mihailovic",764));
        
        System.out.println("* Knjige u ponudi *");
        books.forEach(e->System.out.println(e));
        
        
        Korpa basket = new Korpa();

        try(Scanner scan = new Scanner(System.in)){
            do{
                System.out.print("* Unesite ID knjige zeljene knjige. Za kraj unosa upisite (0): ");
                int id=scan.nextInt();
                if (id == 0){
                    System.out.println("Uneli ste '0' za kraj.");
                    break;
                }
                List<Knjiga>result = books.stream()
                                          .filter(e->e.getId()==id)
                                          .collect(Collectors.toList());
                if (result.size() != 1) { throw new IllegalStateException(); }
                basket.addItem(result.get(0));
                System.out.println("Cestitamo! Uspesno ste kupili : "+result.get(0).getTitle());
            }while(true);
        }
        catch(Exception e){}
       
        System.out.println("* Izabrali ste sledece: *");
        for(int i=0;i<basket.getBasket().size();i++){
        System.out.println(basket.getBasket().get(i).getTitle());
        }
        
        Excel.profaktura(basket);

    }
}


Gledao sam da ti ne menjam code previse tako da je sve ostalo manje-vise isto osim nekih stvari koje je bilo neophodno dodati. Aplikacija koristi Java8 biblioteku.
Ova biblioteka nije losa za rad sa excelom. Nisam se do sada sretao sa njom vidim da ima dobrih mogucnosti rad sa formulama i stilizovanje.
 
Odgovor na temu

shocknp
zeljko maksimovic
beograd

Član broj: 333605
Poruke: 20
*.dynamic.sbb.rs.



Profil

icon Re: Java- Pomoc oko zadatka03.06.2016. u 20:20 - pre 51 meseci
Druze hvala ti punoo,ovo mi je bas znacilo!
 
Odgovor na temu

[es] :: Java :: Java- Pomoc oko zadatka

[ Pregleda: 1760 | Odgovora: 8 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.