Using the above code add a method that takes in three arrays, one for student names, one for final test marks and a last one for assignment mark. The method should then calculate the students qualifying mark (a student needs 50 or more to qualify) using the following weights: 40% of the test and 60% of the assignment, finally print out whether the person qualified or not.
Name Test Assignment Final Examination
King 59 85 75 Allowed
John 52 45 48 Denied
Sample Test 1:
Enter the total number of students:
3
Enter name:
koko
Enter name:
jojo
Enter name:
momo
Enter mark for Test 1:
78
Enter mark for Test 2:
65
Enter mark for Test 3:
70
Enter mark for Test 1:
55
Enter mark for Test 2:
56
Enter mark for Test 3:
89
Enter mark for Test 1:
45
Enter mark for Test 2:
25
Enter mark for Test 3:
38
Enter assignment Mark:
66
Enter assignment Mark:
86
Enter assignment Mark:
70
Name Test01 Test02 Test03 Final
koko 78 65 70 71
jojo 55 56 89 67
momo 45 25 38 36
import java.util.Scanner;
public class App {
public static void main(String[] args) {
Scanner keyBoard = new Scanner(System.in);
int n = -1;
while (n < 0 || n > 1000000) {
System.out.println("Enter the total number of students:");
n = keyBoard.nextInt();
}
String[] names = new String[n];
int[] tests = new int[n];
int[] assignments = new int[n];
keyBoard.nextLine();
for (int i = 0; i < n; i++) {
System.out.println("Enter name:");
names[i] = keyBoard.nextLine();
}
for (int i = 0; i < n; i++) {
System.out.println("Enter mark for Test " + (i + 1) + ":");
tests[i] = keyBoard.nextInt();
}
for (int i = 0; i < n; i++) {
System.out.println("Enter assignment Mark:");
assignments[i] = keyBoard.nextInt();
}
personQualifiedTable(names, tests, assignments);
keyBoard.close();
}
private static void personQualifiedTable(String[] names, int[] tests, int[] assignments) {
System.out.println(String.format("%-15s%-15s%-15s%-15s%-15s", "Name", "Test", "Assignment", "Final", "Examination"));
for (int i = 0; i < names.length; i++) {
int finalMark = (int)(((int)Math. ceil(0.4 * tests[i]) + (int)Math. ceil(0.6 * assignments[i])));
String examination = "Allowed";
if (finalMark < 50) {
examination = "Denied";
}
System.out.println(String.format("%-15s%-15s%-15s%-15s%-15s", names[i], tests[i], assignments[i], finalMark,
examination));
}
}
}
Comments
Leave a comment