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ı


GEd

Öne çıkan mesajlar

Ağır java noobuyum. Bazı sorular size çok basit gelebilr ama çok fazla şeyle uğraşıyorum kafam karışıyor.


Yeni bir listim var mesela :


List Test1 = new LinkedList();




birde metodum var getContainedSignalTransmissions()

Bu method şu tip elemanları veriyor geri, çağırıldığında:
List



Bu metodla cagırdıklarımı test1 e koymak ıstıyorum


getslotobject() int veriyor geri bu nedenle direk arrayin içine atabiliyorum aşağıda görüldüğü gibi ama listin içine nasıl atacağım ?




said:
public Object calculateResult() {

int result ;

List FlexTrans =(List) getInput("input");


int lang = FlexTrans.size();

int [] feld1 = new int[lang];

List Test1 = new LinkedList();


for (int i = 0; i < FlexTrans.size(); i++)
{

feld1 [i) = FlexTrans.get(i).getSlotObject();
Test1.add(FlexTrans.get(i).getContainedSignalTransmissions());

}

result = feld1[2];

setResult("result",result);
setResult ("result2", Test1);

return null;


}
}




add(MSignalTransmission) , List için kullanılamaz gibi bir şey diyor


add methodunda bir sorun var..
Link to comment
Sosyal ağlarda paylaş

onu bilerek yaptım, bbc koddan dolayı yanlış gösteriyor çünkü forumda.

italic oluyordu ordan sonrakiler






Bahsettiğim metodlar resimde, hani hazır metodlar bunlar ne verdikleri yanlarında yazıyor, cok anladığımdan demiyorum onu veriyor diye.



Olayda şu

FlexTrans listesi paketler ile dolu (İNPUT Portundan alıyor bilgiyi) . O paketlerin içindeki sinyalleri okumaya çalışıyorum bu metod ile.

Link to comment
Sosyal ağlarda paylaş

konuyu bilmiorum da şöle bişi deneyebilirsin basit typecast sorunu vardır belki.


MSignalTransmission msig = null;
msig = FlexTrans.get(i).getContainedSignalTransmissions();
Test1.add(msig);

veya

Test1.add((MSignalTransmission)FlexTrans.get(i).getContainedSignalTransmissions());
Link to comment
Sosyal ağlarda paylaş

Bir pakette 1 den fazla sinyal olabiliyor. Bu nedenle list olarak geri veriyor o method sanirim.



Denerim simdi sonucta full noobum,



Birde


su blogun amaci nedir,

MSignalTransmission msig = null;

ile init etmenin olayi ne ? Farklı kod örneklerinde de hep görüyorumda.




Otomatik çözüm yöntemlerinde eclipse addALL diye bir şey öneriyor Add yerine AddAll yapınca başarılı olarak compile ediliyor ama Test1 listinin içinden elemanlardan birini görme amacıyla çıkartmayı başaramadım henüz sonuç olumlu mu diye.
Link to comment
Sosyal ağlarda paylaş

List Test1 = new LinkedList();
veya
List Test1 = new LinkedList();

bu şekilde tanımlayıp dene, eğer type sorunundan dolayı çalışmıyorsa çalışır bu haliyle. list i tanımlarken <> falan yazmazsan her tür objeyi alması gerekiyor.
Link to comment
Sosyal ağlarda paylaş

oldu valla

yazdıktan sonra olmuyordu, meğer Çıkış port adını yanlış yazıyormuşum ondan sonuç gelmiyormuş. Sadece java değil bir eclipse üstündeki bir software bu blok adlarını doğru girmek gerekiyor.


Uyarı geliyor gene işte generics hedesinden dolayı ama ciddi bişi değil.



Ben bu konuyu bolca spamlarım cunku hiç java bilmediğimi farkettim.
Link to comment
Sosyal ağlarda paylaş

Arraylist ile linkedlistin tam olayı ne ?

Arayı biliyorum hani matrix gibi saklıyor ama linkedlist nedir ?


Birde arada çıktı veremiyorum çünkü başka bir software ile çalışıyorum (http://www.aquintos.com/index.php?setLang=2 )

Henüz çözemedim tüm liste halinde çıkış yaptırtmayı, zayıfım.




result = feld1[2];
Object result2 = null;
result2 = Test1.get(4);


setResult("result",result);
setResult ("Test1",result2 );




işte arrayın 2.elamanını ilk porttan

Listin 4.elemanını 2.porttan çıkarttırıyorum, toplu çıkarttıramadım bir türlü, grafiksel bir arayüz var, port port çıkış oluyor.





Yardımlar için şimdiden çok teşekkürler. Bu konuyu fazlaca spamlayabilirim.
Link to comment
Sosyal ağlarda paylaş

bildiğim kadarıyla pratikte pek farkları yok sadece çalışma mekanikleri biraz farklı.
array bildiğin array mantığıyla çalışıyor ve tüm elemanların memorydeki yerini kaydediyor, bir elemana ulaşmak istediğin zaman kaydedilen tabledan o elemanın memorydeki başlangıç adresini alıyor.

linkedlistte ise o şekilde bir tablo yok. her elemanda normal data dışında kendinden bir önceki ve bir sonraki elemanın memory adresi kaydediliyor. örneğin 50. elemanın adresi gerekiyorsa ve sen current olarak 5. elemandaysa 45 civarı atlama yapıp 50. elemana geçiyor.
Link to comment
Sosyal ağlarda paylaş

2 listin içerisindeki elemanları nasıl karşılaştırabilirim ?


bu konuda bahsettiğim listeye MsignalTransmission objektlerini dolduruyorum.


Ayrıca başka bir kaynaktanda başka bir listeye yine aynı tip objektleri dolduruyorum.


İki listeyi karşılaştırıp 2.listede olup 1.listede olmayanları bulmam gerekiyor. Bu farklı olanlarıda ayrı bir listeye aktarmak istiyorum hatta. Tüm işlem bu farklı elemanlarla devam edecek çünkü.

Anahtar kelime nedir yani, onunla ilgili bölümleri aranayım.





1. listede ama herhangi bir indexteki eleman mesela 1+ veya daha fazla objekt geri verebiliyor, 2.listedekiler ise tek tek sıralı, her index bir tane objekt içeriyor.
Link to comment
Sosyal ağlarda paylaş

add metodu listeye tek eleman ekler. Birden fazla eleman eklemek için addAll kullancaksın. tunca'nın dediği gibi yaparsan liste içinde liste koymuş oluyorsun. Gereğinden fazla karıştırmış olursun işleri.

GEd said:

İki listeyi karşılaştırıp 2.listede olup 1.listede olmayanları bulmam gerekiyor. Bu farklı olanlarıda ayrı bir listeye aktarmak istiyorum hatta. Tüm işlem bu farklı elemanlarla devam edecek çünkü.

Anahtar kelime nedir yani, onunla ilgili bölümleri aranayım.


removeAll ile bir listeden başka bir listedeki tüm elemanları çıkartırsın.

retainAll ile tam tersi, diğer listede olmayan tüm elemanları çıkartırsın.

GEd said:

1. listede ama herhangi bir indexteki eleman mesela 1+ veya daha fazla objekt geri verebiliyor, 2.listedekiler ise tek tek sıralı, her index bir tane objekt içeriyor.


Tam anlamadım ama liste içine liste koyduğun için oldu bu durum sanırım. elemanları addAll ile tek listede birleştirirsen sorun olmaması lazım.

Java API ile aşk yaşayın bu arada: http://download.oracle.com/javase/6/docs/api/java/util/List.html
Link to comment
Sosyal ağlarda paylaş

addAll ı şeyden kullanmadım :

Liste var, bu listenin içerisinde B nesneleri var, her bir B nesnesinin içerisinde bir veya birden fazla A nesnesi var.



said:
for (int i = 0; i < FlexTrans.size(); i++)
Test1.add(FlexTrans.get(i).getContainedSignalTransmissions());




B Nesneleri FLexTrans listesinde


A elemanlarını çıkarıp Test1 listesine atmak istiyorum.


B Nesnesi Frame, A elemanlarıda sinyal hatta. Bir frame içerisinde birden çok sinyal olabiliyor.

addAll desemde hepsini alır mı yine tek seferde ?



Sıfırdan java tutorial kitapları okuyorum günlerdir , kısmet bu gidiş.
Link to comment
Sosyal ağlarda paylaş

Class isimleriyle değişken isimlerini karıştırmamak için değişken isimleri küçük harfle başlatmaya alış. Liste değişkenleri flexTrans ve test1 olsun.

/*
* flexTrans listesi içindeki her transmission'ın bütün
* containedSignalTransmissions zımbırtılarını test1 listesine ekle.
*/
for (MFlexRayFrameTransmission transmission : flexTrans) {
test1.addAll(transmission.getContainedSignalTransmissions());
}
Link to comment
Sosyal ağlarda paylaş

Saol deniycem.


Çok saçma birşey daha sorucam çok canımı sıkıyor çünkü

Tüm bu hesaplar bir bloğun içinde oluyor. Farklı farklı çıkış portları tanımlanabiliyor.


Blogun farklı çıkış portları var




setResult ("Test1",result2[2]);

Dedigimde result2 arrayinin 2.elemani olan objekt Test1 portuna veriliyor. Ben ama result2 nin tum icerigini vermek istiyorum bu methodla nasil olucak bu iş ?


Icınde bu arrayın 15 kadar obje var ben sadece bu salak metod yuzunden belirli bir tanesini çıkartabiliyorum hep içinden. Oysa tum hepsini çıkarmak istiyorum.




Bloğun şöyle bir bilgi notu var :

said:
@return the result that is calculated in this source code. If different results has to
* be set for different outputs, the method "setResult(portName,resultValue)" will need
* to be called, as described above.
*
* @Note if the "setResult(portName,resultValue)" - method is called, the return value of
* this method will be ignored but a return - statement has to be set anyway!
Link to comment
Sosyal ağlarda paylaş

Liste flexTrans

setResult("result",flexTrans);





Sinyallerin olduğu liste result2 de verilen sonuç, anlamadığım salak sonuç.

setResult ("Test1",test1);







Sinyallerin olduğu listenin birinci elemanı mesela, istenilen sonuç.

setResult ("Test1",test1.get(1));





Referansları veriyor yani geri, nerde olduklarını.


Birşeyleri herhalde yaparken ters yapıyorum.

Link to comment
Sosyal ağlarda paylaş

GEd said:

Birde


su blogun amaci nedir,

MSignalTransmission msig = null;

ile init etmenin olayi ne ? Farklı kod örneklerinde de hep görüyorumda.

MyClass myClass = null;
myClass = new MyClass();
diye başlarsan biraz anlamsız gözükür doğrudur. ama:

MyClass myClass = null;
if (expression)
{
myClass = new MyClass();
}
myClass.hedehödö(); //burda hata verir.


daha birçok örneği var bu olayın.
Link to comment
Sosyal ağlarda paylaş

×
  • Yeni Oluştur...