Javada Sıralama
-
Jpanel ile bir tablo hazırladım.
Bir tarafta takım isimleri bir tarafta rastgele puanlar var.
Ancak bu takım isimlerini puana göre sıralama yapmam gerekiyor.
İnternetten biraz araştırdım bulamadım.
Bilgisi olan arkadaşlar yardımcı olabilir mi?
Sıralama yaptıracak bir fonksiyon var mı?
Takımlarla rastgele gelen puanı nasıl ilişkilendirebilirim ?
Şimdiden teşekkürler.
-
abi şöyle yap, elindeki tüm listeyi bir map' a at. (puanların tekrar etmediğini farz ediyorum) sonrasında Collections.sort la puanlara göre sırala.
-
sLeymN bunu yazdı
abi şöyle yap, elindeki tüm listeyi bir map' a at. (puanların tekrar etmediğini farz ediyorum) sonrasında Collections.sort la puanlara göre sırala.
Bunu yaptım ama asıl sorun sanırım şu. Jpanel sadece string verileri kabul ediyor. Ben de elimdeki sayıları String koleksiyonuna attım. Ancak yine de değişken türlerini farklı görüyor.
Yani değişke türü olan string ile class olan Stringi farklı algılıyor. Ben class olan Stringi nasıl stringe çevireceğim.
Tür uyuşmazlığı var diyerek değişkeni hatalı gösteriyor.
-
Javada 1 tane string var. C# olmasın o
-
sayılara göre sıralama sort algoritm diyorsan sayıları bir array ya da veri yapısı içinde sırala bublesort kullanabilirsin: http://www.programmingsimplified.com/java/source-code/java-program-to-bubble-sort
-
Type mismatch: cannot convert from LinkedList<Integer> to Integer
sürekli karşılaştığım sorun bu deli olacağım.
Bulduğum herşeyi denedim yine de yapamadım :(
Denediklerim
Arrays,
Hashset
Vector
Ödev olduğu için btün kodları paylaşamıyorum:
package Diziler;
import java.util.Random;
import java.util.Vector;
public class puan {
public static void main(String[] args) {
// TODO Auto-generated method stub
int x,y,z,t,puan;
Random rastgele=new Random();
t=30;
x=rastgele.nextInt(t*2/3)+1;
y=rastgele.nextInt(t*2/3)+1;
z=rastgele.nextInt(t*2/3)+1;
puan=(x*3)+(y*1)+(z*0); //Asıl meselem bunu büyükten küçüğe sıralamak
Vector <Integer> vek= new Vector <Integer>() ;
for(int j=0;j<18;j++)
{
vek.add(j); //puanı buraya eklemek istiyorum.
}
vek.sort(null);
for(int i=0;i<5;i++)
{
System.out.println(vek.get(i));
}
}
} -
wikwik bunu yazdı
Type mismatch: cannot convert from LinkedList to Integer
sürekli karşılaştığım sorun bu deli olacağım.
Bulduğum herşeyi denedim yine de yapamadım :(
Denediklerim
Arrays,
Hashset
Vector
Ödev olduğu için btün kodları paylaşamıyorum:
package Diziler;
import java.util.Random;
import java.util.Vector;
public class puan {
public static void main(String[] args) {
// TODO Auto-generated method stub
int x,y,z,t,puan;
Random rastgele=new Random();
t=30;
x=rastgele.nextInt(t*2/3)+1;
y=rastgele.nextInt(t*2/3)+1;
z=rastgele.nextInt(t*2/3)+1;
puan=(x*3)+(y*1)+(z*0); //Asıl meselem bunu büyükten küçüğe sıralamak
Vector vek= new Vector () ;
for(int j=0;j<18;j++)
{
vek.add(j); //puanı buraya eklemek istiyorum.
}
vek.sort(null);
for(int i=0;i<5;i++)
{
System.out.println(vek.get(i));
}
}
}Hocam şimdi sana çözümü yazsak bi faydası olmayacak. Öğrenemeyeceksin. Sen java'da iki tane string var diyon zaten ordan bir falso.
Bence java'da vektor, linkedList nasıl kullanılır bir örneklere bak istersen. Birde javadaki veri tiplerini incele son olarak Java'da type casting e bak yaparsın eminim.
-
DrKill bunu yazdıwikwik bunu yazdı
Type mismatch: cannot convert from LinkedList to Integer
sürekli karşılaştığım sorun bu deli olacağım.
Bulduğum herşeyi denedim yine de yapamadım :(
Denediklerim
Arrays,
Hashset
Vector
Ödev olduğu için btün kodları paylaşamıyorum:
package Diziler;
import java.util.Random;
import java.util.Vector;
public class puan {
public static void main(String[] args) {
// TODO Auto-generated method stub
int x,y,z,t,puan;
Random rastgele=new Random();
t=30;
x=rastgele.nextInt(t*2/3)+1;
y=rastgele.nextInt(t*2/3)+1;
z=rastgele.nextInt(t*2/3)+1;
puan=(x*3)+(y*1)+(z*0); //Asıl meselem bunu büyükten küçüğe sıralamak
Vector vek= new Vector () ;
for(int j=0;j<18;j++)
{
vek.add(j); //puanı buraya eklemek istiyorum.
}
vek.sort(null);
for(int i=0;i<5;i++)
{
System.out.println(vek.get(i));
}
}
}Hocam şimdi sana çözümü yazsak bi faydası olmayacak. Öğrenemeyeceksin. Sen java'da iki tane string var diyon zaten ordan bir falso.
Bence java'da vektor, linkedList nasıl kullanılır bir örneklere bak istersen. Birde javadaki veri tiplerini incele son olarak Java'da type casting e bak yaparsın eminim.
Hocam zaten yarım yamalak bir eğitim alıyorum. Hoca vrdiği eğitimin üstünde bir ödev istiyor normal olarak. İki string dememin sebebi tip dönüşümü iki string arasında nasıl olabilirki. İki veri string olmasına rağmen tip uyuşmazlığı hatası veriyor.
-
Muhtemelen cevap çok basit bir şeydir. Ancak bilmeyince en basit problem bile deve dönüşüyor.
Neyse bakalım çalışmaya devam...
-
Vaktin varsa uğraş hocam biraz daha. Yetiştiremeyecek olursan yardımcı olalım
-
En Son Geldiğim Nokta: Hala olmadı :( Ama sonucu yazdırabildim en azından :)
package Diziler;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Random;
import java.util.Vector;
public class puan {
public static void main(String[] args) {
int x,y,z,t,puan;
for(int i=0;i<18;i++)
{
Random rastgele=new Random();
t=30;
x=rastgele.nextInt(t*2/3)+1;
y=rastgele.nextInt(t*2/3)+1;
z=rastgele.nextInt(t*2/3)+1;
puan=(x*3)+(y*1)+(z*0);
ArrayList <Integer> siraliKume= new ArrayList <Integer>();
siraliKume.add(puan);
Integer[] result = siraliKume.toArray(new Integer[siraliKume.size()]);
Arrays.sort(result);
String sonuc=Arrays.toString(result);
System.out.println(sonuc);
}
}
}
Çıktısı:[68]
[22]
[17]
[46]
[36]
[47]
[27]
[34]
[15]
[61]
[15]
[35]
[62]
[45]
[32]
[10]
[25]
[70]Köşeli parantezler neden var ve neden sıralı değil?
String olduğu için diye tahmin ediyorum. Ancak sonucu jpanele yazdırırken string olarak yazdırmam gerekiyor.
Çözümü için ipucu alabilir miyim ? Ödevin süresi biraz daha var, biraz daha uğraşıyım.