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

cin>> iz c++ u javi, kako?

[es] :: Java :: cin>> iz c++ u javi, kako?

[ Pregleda: 1471 | Odgovora: 2 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Andrej013

Član broj: 157053
Poruke: 321
77.46.230.*



+694 Profil

icon cin>> iz c++ u javi, kako?11.01.2008. u 00:23 - pre 198 meseci
dakle, ne mogu da verujem da je ovo jedini nacin da se ubaci verdnost u promenjivu u mejnu:

prva klasa:
Code:

public class CDDisk {
    private String naziv;
    private String izvodjac;
    private int id;
    
    CDDisk(){
        naziv = null;
        izvodjac = null;
        id = 0;
    }

    public CDDisk(String naziv, String izvodjac, int id) {
        super();
        this.naziv = naziv;
        this.izvodjac = izvodjac;
        this.id = id;
    }

    public String getNaziv() {
        return naziv;
    }

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

    public String getIzvodjac() {
        return izvodjac;
    }

    public void setIzvodjac(String izvodjac) {
        this.izvodjac = izvodjac;
    }

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }
    
    public String toString(){
        return "CD[ " + naziv + ", " + izvodjac + ", " + id + " ]";
    }
    
    public boolean equals(Object obj){
        if(obj == null) return false;
        CDDisk d = (CDDisk)obj;
        return ( naziv.equals(d.naziv) && izvodjac.equals(d.izvodjac) && id==d.id );
    }
    
    public static void main(String[] args){
        CDDisk d1;
        d1 = new CDDisk();
        CDDisk d2 = new CDDisk("Hitovi", "Pevac", 1);
        //CDDisk d3 = new CDDisk("Najlepse pesme", "RockBand", 2);
        
        d1.setNaziv("Novi disk");
        d1.setIzvodjac("Pevac hitova");
        d1.setId(3);
        
        System.out.println("Naziv: " + d1.getNaziv());
        System.out.println("Izvodjac: " + d1.getIzvodjac());
        System.out.println("ID: " + d1.getId());
        
        System.out.println( d1);
        System.out.println( d2);
        
        CDDisk d3 = new CDDisk( d1.getNaziv(), d1.getIzvodjac(), d1.getId());
        
        System.out.println( d3);
        
        System.out.println();
        System.out.println( d1.equals(d2));
        System.out.println( d1.equals(d3));
    }
}

sledeca:

Code:


import java.io.BufferedReader;
import java.io.InputStreamReader;

public class CDStorage {

    private CDDisk CDArhiva[];aa2
    private int brojDiskova;
    
    CDStorage(){
        CDArhiva = new CDDisk[200];
        for(int i=0; i<CDArhiva.length; i++)
            CDArhiva[i] = null;
        brojDiskova=0;
    }
    
    public boolean addCD( CDDisk d){
        if(brojDiskova==CDArhiva.length)
            return false;
        else {
            CDArhiva[brojDiskova] = new CDDisk( d.getNaziv(), d.getIzvodjac(), d.getId());
            brojDiskova++;
            return true;
        }
    }
    public boolean addNewCD() {
        String naziv=null, izvodjac=null;
        int id=-1;
                  /***********************************************8
                 ****************************
***********************
**********************
OVO JE DEO KOJI ME BUNI.
NE VERUJEM DA JE POTREBNO 30 LINIJA KODA, 3 METODE I SL DA BIH OVAKO PROSTU STVAR URADIO.
*/
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
            
        try {
            System.out.print("Unesite naziv CD-a: ");
            naziv = br.readLine();
            System.out.print("Unesite ime izvodjaca: ");
            izvodjac = br.readLine();
            System.out.print("Unesite identifikacioni broj: ");
            id = Integer.parseInt(br.readLine());
            return addCD(new CDDisk( naziv, izvodjac, id));
        } catch(Exception e) {
            System.out.println("Desio se izuzetak: " + e);
            //e.printStackTrace();
            return false;
        }
    }
    
    public boolean searchCD(int id){
        for(int i=0; i<brojDiskova; i++)
            if(CDArhiva[i].getId() == id)return true;
        return false;
    }
    
    public String toString(){
        if( brojDiskova == 0 ) return "U arhivi nema diskova!";
        String retVal = "Sadrzaj CD arhive je:\n";
        for(int i=0; i<brojDiskova; i++)
            retVal += CDArhiva[i] + "\n";
        return retVal;
        
    }
    
    public static void main(String[] args) {
        CDStorage cds = new CDStorage();
        CDDisk d1 = new CDDisk( "Stari disk", "Orkestar", 1);
        CDDisk d2 = new CDDisk( "Novi disk", "Orkestar", 2);
        
        System.out.println(cds); //arhiva prazna
        
        cds.addCD( d1);
        cds.addCD( d2);
        System.out.println(cds);
        
        cds.addNewCD();
        cds.addNewCD();
        System.out.println(cds);
    }

}


zanima me koji je najjednostavniji nacin da u javi uradim ovo:

class Proba(){
int i;
getI(){
return i;
}
setI(br){i=br;}

public static void main(String[] args) {
System.out.println("unesite i:");
//ovde bi trebalo da ide :
cin>>i;
System.out.println("i:+i");
}
}
eto, samo to.
nemorate ni citati gornji kod u sustini.
mi na faxu radimo ovo gore i OK, mogu to da savladam. nije strasno, ali je problem kada toliko sintaxe moramo da savladamo za manje od mesec dana.

koliko sam razumeo, mi moramo da pravimo metodu addCD, pa addNewCD u kojoj koristimo ovu addCD u izuzetku kako bismo vratili nesto.
to je ona poslednja linija ovde:

try {
System.out.print("Unesite naziv CD-a: ");
naziv = br.readLine();
System.out.print("Unesite ime izvodjaca: ");
izvodjac = br.readLine();
System.out.print("Unesite identifikacioni broj: ");
id = Integer.parseInt(br.readLine());
return addCD(new CDDisk( naziv, izvodjac, id));


problem na faxu je taj sto nam oni daju ovaj zadatak, i ni jedan drugi primer
znaci, nema ono osnovno, tipa, ubaci proj u promenjivu, vec odma sa gomilom metoda.
ok, naucicu sa metodama, ali me zanima koja je osnova od koje polazim.


ako nije dovoljno jasno, ili je konfuzno i sl(losa metodologija) jbg. izvinite, ali mi je neophodan odgovor i bio bih vam veoma zahvalan da mi date.

pomoglo bi mi i ako me uputite na neku adresu koja detaljno opisuje sve u vezi ovoga, ali bi mi najvise znacilo kada bi mi odgovorili na konkretno pitanje u ovoj klasi Proba od gore.
hvala
 
Odgovor na temu

Mister_rap
SE at Viacom

Član broj: 8822
Poruke: 2540
*.crnagora.net.

Jabber: mister_rap@jabber.com


+21 Profil

icon Re: cin>> iz c++ u javi, kako?11.01.2008. u 17:23 - pre 198 meseci
Nisam citao paziljivo citavu poruku ali...

Citat:

System.out.println("unesite i:");
//ovde bi trebalo da ide :
cin>>i;
System.out.println("i:+i");


Bi trebalo da izgleda recimo ovako:
Code:


Scanner sc = new Scanner(System.in);
        
int i;
System.out.println("unesite i:");
//ovde bi trebalo da ide :cin>>i; ali ide..
        
i=sc.nextInt();
        
System.out.println("i: "+i);


Pogledaj dokumentaciju:
http://java.sun.com/j2se/1.5.0/docs/api/java/util/Scanner.html
 
Odgovor na temu

Andrej013

Član broj: 157053
Poruke: 321
77.46.230.*



+694 Profil

icon Re: cin>> iz c++ u javi, kako?14.01.2008. u 02:49 - pre 198 meseci
@Mister_rap
covece, hvala ti!
ti si onaj koji mi je otvorio oci! :)
ozbiljno, bas mi je pomogao ovaj scanner. sad ga koristim i za stringove, procitao sam dokumentaciju i koristi mi.



sada, koristim ovu temu da postavim drugo pitanje jer mi je bzvz da otvaram novu zbog ovako trivialnih pitanja..
ne zelim da pretrpam ovaj deo foruma..ako gresium, recite, i otvaram temu.

e, sledeca stvar je u datotekama.

ovo je kako kazu "skolski primer" ali meni ipak ne radi :(
i ovo nije jedini.


Code:

import java.io.*;
public class CuvanjeIRekonstruisanjePodataka {

    
    public static void main(String[] args) 
        throws IOException{
            DataOutputStream out= new DataOutputStream(new BufferedOutputStream(
                    new FileOutputStream("Podaci.txt")));
            out.writeDouble(3.14159);
            out.writeUTF("to je broj pi");
            out.writeDouble(1.41413);
            out.writeUTF("to je koren od 2");
            out.close();
            DataInputStream ulaz=new DataInputStream(new BufferedInputStream(
                    new FileInputStream("Podaci.txt")));
            System.out.println(ulaz.readDouble());
            //samo readUTF pravilno pronalazi
            //java-UTF String:
            System.out.println(ulaz.readUTF());
            System.out.println(ulaz.readDouble());
            System.out.println(ulaz.readUTF());
        }
    

}

dakle, ispis mi skroz ok uradi ovako izgleda:
3.14159
to je broj pi
1.41413
to je koren od 2

ali zato kada otvorim novonastalu datoteku dobijam:

@ !ùð †n
to je broj pi?ö FÇd® to je koren od 2

e, sada,
ovo:
@ !ùð †n
bi trebalo da bude broj 3.14159

kako sam primetio @ je zamena za broj 3
umesto tacke, u datoteci je tabulator,
i posle ide jos tih 5 cudnih slova umesto kojih treba da stoji 5 cifara: 14159

dakle, nesto(necu da lupam, kompajler i sl) pomera cifre u ascii tabeli na odr stranu za odr broj znakova.
da li iko zna zasto bi se ovo desavalo?
da li iko primecuje zakonitost po kojoj se desava(buni i to sto u broju 3.14159 tacku zamenjuje tabulator a u sledecem 1.41413, tacku zamenjuje obican razmak

da li to ima veze sa cinjenicom da korisitm eclipse?javu se6?

moze pomoc?
hvala unapred
 
Odgovor na temu

[es] :: Java :: cin>> iz c++ u javi, kako?

[ Pregleda: 1471 | Odgovora: 2 ] > FB > Twit

Postavi temu Odgovori

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