Tugas Personal 2
1. Manakah dari statement berikut ini yang benar
a. int i = new int(20); SALAH
b. double d[] = new double[20]; BENAR
c. char[] r = new char(1..20); SALAH
d. int i[] = (3,4,5,2); SALAH
e. float f [] = {2.1, 3.4, 5.6}; SALAH
f. char[] c = new char(); SALAH
2. Apa yang terjadi apabila program mencoba untuk mengakses sebuah element array dengan index yang
salah / invalid ?
Akan muncul error dengan pesan Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException .
2) Menggunakan arraycopy yang terdapat dalam class System, syntax yang digunakan :
arraycopy(sourceArray,src_pos,targetArray, tar_post, length);
Contoh:
Source Code :
package tugaspersonal2;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Scanner;
/**
*
* @author Ade Luzern
*/
/**
* @param args the command line arguments
*/
iMenu=in.nextInt();
switch (iMenu){
case 1:
pendataanMataKuliah();
break;
case 2:
perhitunganIPS();
break;
case 3:
updateGrade();
break;
case 4:
break;
}
}
}
//validasi grade
do {
System.out.print ("Masukan Grade Mata Kuliah: ");
arrMk[2]=in.next().toUpperCase();
}
while (!isValidGrade(arrMk[2]));
System.out.print ("Masukan Jumlah SKS: ");
arrMk[3]=in.next();
lstMataKuliah.add(arrMk);
System.out.println();
}
}
System.out.println(str) ;
int iNumGrade= getGradeFromAlphabet(lstMataKuliah.get(i)[2]);
int iNumSks= Integer.parseInt(lstMataKuliah.get(i)[3]);
iGradeSks=iGradeSks + (iNumGrade*iNumSks);
iSks=iSks+iNumSks;
}
// tampilkan
for (int i=0; i< lstMataKuliah.size() ;i++){
String str=Arrays.toString(lstMataKuliah.get(i)).replace("["," ");
str=str.replace("]","");
str=str.replaceFirst(",","");
str=str.replace(",","\t");
System.out.println(String.format(str)) ;
}
}
}
Output :