Türkiye ligi için puan tablosu yaptım. Sadece puanları çoktan aza doğru sıralayamadım.

Arrays.sort metodunu kullanınca anlamadığım şekilde puan hesaplama yanlış şekilde hesaplanıyor.

ÖNEMLİ NOT:
Arkadaşlar tavsiyelerinizi bekliyorum kodlama için şunu şöyle yapsan daha iyi olurdu gibisinden kod yapısı düzeni ve farklı fikirleri olanlar lütfen yorum yazsın.

Program işleyişi: Oynanan maçlar, galibiyet ,mağlubiyet, beraberlik sayıları otomatik olarak üretiliyor. atılan ve yenilen gol de aynı şekilde otomatik olarak üretilmektedir. Oluşan verilere göre puan hesaplaması ve averaj hesaplaması yapılıyor.

Örnek Çıktı:



import java.util.Arrays;
import java.util.Collections;

public class SuperligPuanDurumu {
	  static int galibiyet ,maxB;
	   static int [] averaj=new int [18];
	   static int [] Tpuan=new int [18];
	public static void main(String[] args) {
		 int [] puanlama =new int [18];
		String [] TakimListesi=new String [18];
		TakimListesi =new String [] {"Fenerbahçe", "Galatasaray","Beşiktaş","Trabzonspor","KayseriSpor",
				"Osmanlıspor","ÇaykurRizepor","Eskişehirspor","Bursaspor","Başakşehir","Kasımpaşa",
				"Gençlerbirliği","Antalyaspor","Gaziantepspor","Sivasspor","Mersin İ.Yurdu","Torku Konyaspor",
				"Akhisar B.Spor"};
		
		int [] MacSayisi=new int [18];	
		int [] Galibiyet=new int [18];	
		int [] Maglubiyet=new int [18];	
		int [] Beraberlik=new int [18];	
		int [] AtilanGol=new int [18];	
		int [] YenilenGol=new int [18];
		int [] Averaj=new int [18];	
		int [] Puan=new int [18];	
		 //System.out.printf( "%15s% Sıra"+"Takım "+"Puan "+"O"+"G"+,);
 
		System.out.printf("%-24s%-8s%-8s%-8s%-8s%-8s%-8s%-8s%s\n","Takım","O","G","B","M","AG","YG","AV","Puan");

		 
		 	int minimum=1,maximum=34;
		int  uretilen_mac_sayisi = minimum + (int)(Math.random()*maximum);
		
		   for(int i=0;i<18;i++){
		        MacSayisi[i] =uretilen_mac_sayisi;
		    }
		 
		 int minG=0, maxG=uretilen_mac_sayisi;
		 
		 	for ( int i=0;i<18;i++) {
		 		    galibiyet = minG + (int)(Math.random()*maxG);
		 		Galibiyet[i]=galibiyet;
		 	}
		 	 
		 	 int minB=0; int maxB[]=new int [18];
		 	for ( int i=0;i<18;i++) {
		 		 
		 	     maxB[i] =( uretilen_mac_sayisi- Galibiyet[i]);
		 	}
		 	 
		  
		 	 int beraberlik;
		  for ( int i=0;i<18;i++) {
			 
			 beraberlik=minB + (int)(Math.random()*maxB[i]);
			 Beraberlik[i]=beraberlik;
		 } 
		 
		  for ( int i=0; i<18; i++) {
			  
			  Maglubiyet[i]=uretilen_mac_sayisi - (Galibiyet[i]+ Beraberlik[i] );
		  }
		  
		  
		  int minGol=0,maxGol=120;
			
			
			   for(int i=0;i<18;i++){
				   int  AG = minGol + (int)(Math.random()*maxGol);
			       AtilanGol[i] =AG;
			        
			    }
		  
			   
			   for(int i=0;i<18;i++){
				   int  YG = minGol + (int)(Math.random()*maxGol);
			       YenilenGol[i] =YG;
			        
			    }
		  
		  AverajHesapla(AtilanGol, YenilenGol);
		  
		  for ( int i=0; i<18;i++) {
		    puanlama[i]=Galibiyet[i]*3 + Beraberlik[i]*1;
		  }
	 // Arrays.sort(puanlama);
		 
		 
		 
		 for ( int i=17; i>=0; i--) {
		 		
				System.out.println(  ""+ TakimListesi[i] + "\t\t" +MacSayisi[i] +"\t" + Galibiyet[i] + "\t" + Beraberlik[i]+"\t"+Maglubiyet[i]+"\t"+AtilanGol[i]+"\t"+YenilenGol[i]+"\t"+averaj[i]+"\t" +puanlama[i] );
		}

		 	
		 	
		 	
		 	
		}
	 
	
		   public static int [] AverajHesapla (int [] ag , int [] yg ) {
		 		
		 		 
		 		
		 		for ( int i=0 ; i<18; i++) {
		 			
		 			averaj [i]= ag[i] - yg[i];
		 			
		 		}
		 		return averaj;
		 		 }
	 
		  
	
	 
 
	}