Sr. Jericho, você não quer dividir seu problema em pedaços primeiro?
(O famoso método “Jack o Estripador” - a vida é mais simples se dividi-la em pedaços)
A pior maneira de atacar seu problema é ficar com ele em cima da mesa.
Escreva o que deve ser feito no papel primeiro (ok, se você não tem lápis e papel, serve o Bloco de Notas mesmo).
Divida seu problema em pedaços. Por exemplo, olhando seu problema, há vários pedaços nele:
a) Como criar um array de 10000 posições
b) Como gerar 10000 números aleatórios e colocá-los em um array
c) Como medir o tempo de execução de um método
d) Como ordenar um array com o algoritmo 1 e totalizar a quantidade de trocas no algoritmo 1
e) Como ordenar um array com o algoritmo 2 e totalizar a quantidade de trocas no algoritmo 2
f) Como ordenar um array com o algoritmo 3 e totalizar a quantidade de trocas no algoritmo 3
g) Como ordenar um array com o algoritmo 4 e totalizar a quantidade de trocas no algoritmo 4
h) Como gerar 10000 números sequenciais e colocá-los em um array
Transforme cada coisa em um método e boa sorte!
A propósito, para esses algoritmos propostos existem várias implementações na Internet.
Não acho que seu professor vai querer que você não “copie” o código já existente; se eu fosse seu professor, desejaria que você pegasse o código da Internet e conseguisse mudá-lo para que continuasse correto (ou seja, ordenasse os números) e fizesse também o que é necessário (no seu caso, totalizar a quantidade de trocas, que é uma coisa que vai sendo feita dentro do algoritmo).