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;
}
}