Jump to content
Forumu Destekleyenlere Katılın ×
Paticik Forumları
2000 lerden beri faal olan, çok şukela bir paylaşım platformuyuz. Hoşgeldiniz.

Java Sorularım (Takıldıkça Soru Eklenecek)


Öne çıkan mesajlar

Mesaj tarihi:
public class Pub extends Application{

private String myState;

public String getState(){
return myState;
}
public void setState(String s){
myState = s;
}
}


şu şekilde tanımladığım global verilere alttaki gibi ulaşmaya çalışıyorum..

Pub pub = ((Pub)getApplication()); **

x=pub.getState();

ama hata veriyor ** lı satırda..
  • 2 hafta sonra ...
Mesaj tarihi:
Benim 3 classım var Personel, Doktor extends Personel, Hemsire extens Personel. Array kullanarak test classı olusturmustum. Hoca bunları collection kullanarak yapın dedi classım soyle;

Test classı


import java.util.Scanner;
public class Test{

public static void main(String arrg[]){

Personel[] liste = new Personel[3];
Scanner klv = new Scanner(System.in);
String doktor = "doktor";
String hemsire = "hemsire";

for (int i=0; i<liste.length; i++){

System.out.print("Doktor Mu Hemsire Mi Gireceksiniz: ");
String ekle = klv.next();
if (ekle.equals(doktor)){

int s;
String ad, unvan, ogrenim;
System.out.print("Sicil Giriniz:");
s = klv.nextInt();
System.out.print("Ad Giriniz: ");
ad = klv.next();
System.out.print("Akademik Unvan: ");
unvan = klv.next();
System.out.print("Ogrenim Durumu; ");
ogrenim = klv.next();
liste[i] = new Doktor(s, ad, unvan, ogrenim);

}

else if(ekle.equals(hemsire)){

int s;
String ad, k;
System.out.print("Sicil Giriniz:");
s = klv.nextInt();
System.out.print("Ad Giriniz: ");
ad = klv.next();
System.out.print("Kadrolu mu: ");
k = klv.next();
liste[i] = new Hemsire(s, ad, k);
}

else --i;



}

System.out.println("SiciltAdtUnvantOgrenimt");
for (int i=0; i<liste.length; i++){
System.out.println(liste[i]);
}
}
}



listte degiskenini collection olarak nasıl kullanacam bilmiyorum. Sunu biliyorum List liste = new ArrayList(); Ama bunu bu uygulamada nasıl kullanacam?
Mesaj tarihi:
List kullanmak istiyorsan liste değişkenini Personel[] yerine List türünden tanımlayacaksın.

Listeye eleman eklemek için ise

liste[j] = new Doktor(s, ad, unvan, ogrenim);

yerine List türünün add operatörünü kullanabilirsin:

liste.add(new Doktor(s, ad, unvan, ogrenim))


Joker said:

Pub pub = ((Pub)getApplication()); **

ama hata veriyor ** lı satırda..


Yazdığın kodda getApplication() metodu olmadığı için ancak tahmin yürütebilirim. getApplication() Application türünden bir nesne veriyor diyelim. O verdiği Application nesnesi Pub türünden olabilir, ama olmak zorunda değil. Değilse o cast'i yaparsan ClassCastException alırsın.
Mesaj tarihi:

import java.util.List;
import java.util.ArrayList;
import java.util.Scanner;
class Test{

public static void main(String arrg[]){

Scanner klv = new Scanner(System.in);
String tur = null;
List<Personel> liste = new ArrayList<Personel>();
int i = 0;
int x = 2;
while (true){
System.out.print("Doktor mu gireceksiniz? Hemsire mi?");
tur = klv.next();
if (tur.equals("doktor")){


System.out.print("Sicil No Giriniz: ");
liste.add(setSicilNo(klv.nextInt()));
}


}
}
}


Simdide setSicilNo'yu bulamıyor nerde yanlış yaptım? Birde
Mesaj tarihi:
Abi önce bi doktor veya neyse işte onun objesini oluşturup sonra ayrı bi satırda set edip daha sonra
liste.add(doktorbla.getSicilNo()); yapman lazım sanırım

edit: o listin senin persolen tutuyomuş, bende sicil no tutuyo sandım.
o zaman liste.add(doktorbla); yapman lazım direk
Mesaj tarihi:
List liste = new ArrayList();
abi şimdi sen burda listi oluşturmuşsun iyi güzelde,ardından o if in içinde hiç personel oluşturmadan nasıl add yapıyosun? önce bi tane personel oluştur.ardından oluşturduğun personelin sicil no sunu set edebilirsin
Mesaj tarihi:
Abi yazarak anlatırmısınız.

Benim 3 clasım var

Personel
Doktor extends Personel
Hemsire extends Personel

generic yaptıktan sonra if içinde ne yapmam gerekiyor? Bellekte yermi açmam gekiyor. Array için bellekte yer açmayı biliyorum ama list için nasıl yapcam bilmiyorum.

Eskiden array olunca söle yapıodum. Döngü dışında Personel[] liste = new Personel[];

Döngü içinde de bellekte yer açıyordum sonra set kullanıyordum. liste[i] = new Doktor();

Ama bunu collectionda nasıl yapacam bilmiyorum.
Mesaj tarihi:
önce bi arraylist oluşturdun personel tipi tutan
ArrayList liste = new ArrayList();
sonra işte if mif kontrol ettin
daha sonra yeni bi doktor objesi yaratıyosun
Doktor ahmet = new Doktor(isim, soyisim, sicil no falan); //burda constructorun hangi parametreleri alıyosa işte
daha sonra bu doktoru personel tipinde objeler tutan listeye ekliyosun
liste.add(ahmet);
Mesaj tarihi:
Buddha said:

Abi yazarak anlatırmısınız.


abi şimdi şöyle düşün,list dediğin elemanın tipi Personel,ve sen buna Personel tipinde bişey atman için önce elinde personelin olması lazım.o if koşullarının içinde bir tane Personel classından obje yaratman lazım.Default constructor kullanıcaksan

Personel personel = new Personel();

ardından,set metodun varsa;

personel.setSicilNo(girilen değer);

eğer set metodun yoksa sadece sicil nosunu yarattığın bir constructor ın varsa if koşulunun içinde

Personel personel = new Personel(girilen sicil no değeri);

demen gerekiyor.
Ardından bu yarattığın listeye

list.add(personel);

diyerekten personelini eklemen gerekiyor
Mesaj tarihi:
Çok teşekkürler arkadaşlar şimdi anladım olayı. Yeni sorularımla tekrar gelecem idare edin Java Web daha başlamadı öbür kurs hocada yok o zamana kadar bol bol soru gelcek :D
Mesaj tarihi:
aslında böyle sallaya sallaya öğrendiğini düşünüyosunda,işin mantığını kavramadan yapmaya uğraşınca bişey bilmediğini anlıyosun.önce oop mantığını,class mantığını kavrasan gerisi çok kolay gelir
Mesaj tarihi:
Hoca Java Basic kursunda anlattı oop mantığını. Classlar interfaceler çoğunu işledik. Ama mesela generic göstermedi bize hiç. Yada collections işlendiği hafta ben yoktum. Mesela aynı uygulamayı array ile yaptım sıkıntı yaşamadan. Collections ilede yapayım dedim ama array ile aynı mantık düşündüğüm için hata yaptım. Birde collectionsla ilk uygulamam. Hep derste array kullanıyorduk. Yinede bir tekrar yapayım. Ama sorularım daha çok yeni olduğum için size aşırı basit kaçabilir.
  • 7 ay sonra ...
Mesaj tarihi:
Yeni konu acmak istemiyorum :

deprecated

nekadr kötü sonuclar dogurabilir ?

Bir fonksiyon kullaniyorum , deprecated diyor buna, ustu cizgili gosteriyor.

@SuppressWarnings("deprecation")
ile islemleri devam ettiriyorum. Istedigim sonuclari elde ediyorum ama bu fonksiyonun yenisini nasil bulucam ?

Googlea gore javadoc icinde olur yenisi falan diyor ama javadocu bos. Baska bulma yolu var mi vesaire vesaire.
Mesaj tarihi:
Onu anladim googleda da yaziyor. Ama yeni fonksiyonu bulamiyorum javadoc da yok, bu fonksiyonda calisiyor simdilik, isimi goruyor. Yeni fonksiyonu nasil bulucagimi merak ettim acikcasi.
Mesaj tarihi:
hm oyle biside cikmiyor.

jmi- java metadata interface apisine ait refGetTypeClass die bir fonksiyon. Programin kendi apisinden sandim ama genel gecer birseymis. Googledan direk fonksiyona bakayim bir.


Dokuman burda http://docs.oracle.com/cd/E17802_01/products/products/jmi/jmi-1_0-fr-doc/javax/jmi/reflect/RefObject.html


ama burda boyle bir fonksiyon gozukmuyor ??
Mesaj tarihi:
GEd said:

Yeni konu acmak istemiyorum :

deprecated

nekadr kötü sonuclar dogurabilir ?

Bir fonksiyon kullaniyorum , deprecated diyor buna, ustu cizgili gosteriyor.

@SuppressWarnings("deprecation")
ile islemleri devam ettiriyorum. Istedigim sonuclari elde ediyorum ama bu fonksiyonun yenisini nasil bulucam ?

Googlea gore javadoc icinde olur yenisi falan diyor ama javadocu bos. Baska bulma yolu var mi vesaire vesaire.


http://docs.oracle.com/javase/1.5.0/docs/guide/javadoc/deprecation/deprecation.html

"Su an calisiyor olsa bile yeni versiyonlarda calismayabilir ya da tamamen kaldirilabilir. Mümkünse kullanmayin." anlamina geliyor kisaca.

Onun yerine kullanilabilecek elemanlar Javadoc'da anlatilmamissa arayip ya da deneyip bulmak disinda bir yol yok ne yazik ki.
Mesaj tarihi:
selamlar yeni konu açmayayım dedim.

şimdi javanın jsp kısmında çok yeniyim ve bir projeyle uğraşıyorum.


1) ${person.personIdentifier}

2) <jsp:useBean id="deneme" class="web.controller.Deneme"/>

3) <td><%= deneme.getInfo("") %></td>


şimdi kodumu 3 kısma ayırdım.
ilk kısımda bana belirli bir id geliyor.
benim bu id yi,3. kısımda getInfo() fonksiyonuna parametre olarak atmam lazım.ne şekilde denersem deneyeyim hata alıyorum. javabean kullanarak halletmem gerekiyor olayı.

aslında istediğim olay tam olarak php deki şu olay.


<?php
for(){
?>

html kodları blah blah

<?php
}
?>


parantez kısmını bir şekilde sonradan kapatmaya uğraşıyorum

kısaca


<td><%= deneme.getInfo(%> ${person.personIdentifier} <%= ) %> </td>
istediğim olay bu
Mesaj tarihi:
Sorduğun soruyu cevaplamak istemiyorum çünkü bean üzerinde metod çağırmaya çalışıyorsan yaptığın şey iyi bir design değil.

Back bean ya da model olarak adlandırdığın nesnenin, sayfa üstünde gösterilecek olan tüm bilgileri doğrudan bulundurması lazım.

Person ID'sini kullanarak o gerekli infoyu alma işlemi önceden Java kodunda (artık Servlet mi ne kullanıyorsan) yapılır, JSP içinde değil. Yani önceden servlet ile gerekli info'yu okuyup bean'inindeki bir field'e yazacaksın. JSP sadece o field'i gösterecek çotank diye. ;)
Mesaj tarihi:
bean üstünden ben aslında bilgiyi çotant diye göstermiyorum zaten,o bir service çağırıyor.o servis başka bir method çağrırıyor,o method başka bir methoda gidiyor.o veri bana 5. adımda falan geliyor.
Mesaj tarihi:
bir de ayrı bir soru sorayım,açık kaynak kodlu bir projeye modül yazıyorum şu an.kodlar inanılmaz karışık geldi işin içinden zar zor çıkıyorum.javaylada pek tecrübem olmadığı için yaptığım işler biraz saçma olabiliyor.

şimdi projede sürekli açık olan bir database connection var,bu projenin kendi db si,benimde ayrı dblerim var.ben bir işlem yapacağım zaman bağlantımın sürekli açık mı olması gerekiyor yoksa her işlemimim başında bağlantı kurup,bittiğinde kopartmam mı gerekiyor?
×
×
  • Yeni Oluştur...