Hatta şöyle yaparsan, hem daha kolay okunur, hem de sorumluluklarına göre fonksiyonları ayırmış olursun.
@Mf.Rub;
package com.company;
import java.util.*;
public class Main {
public static void main(String[] args) throws Exception {
//Dizinin ilk n adet elemanını dizinin sonuna atayan ve baştaki elemanları sıfırlayan program.
int dizi[] = {4, 8, 3, 1, 18, 9, 21, 20, 5, 17};
try{
nAdetElemaniDizininSonunaAta(dizi, 6);
ekranaBas(dizi);
}catch(Exception e){
System.out.println(e);
}
}
private static void nAdetElemaniDizininSonunaAta(int[] dizi, int n) throws Exception{
if(dizi == null || n > dizi.length){
throw new Exception("Hatalı girdi! \ndizi boyutu: " + dizi.length + "\nn: " + n);
}
int lastIndex = dizi.length - 1;
for (int i = lastIndex; i >= 0; i--){
if(n != 0){
dizi[i] = dizi[--n];
}else{
dizi[i] = 0;
}
}
}
private static void ekranaBas(int[] dizi){
for(int eleman:dizi)
System.out.println(eleman);
}
}