import java.util.Scanner; class StuRes { int[][] marks = new int[3][3]; int[] totalMarks = new int[3]; int[] rollNumbers = new int[3]; void storeMarks(int[][] studentMarks) { for (int i = 0; i < 3; i++) { System.arraycopy(studentMarks[i], 0, marks[i], 0, 3); } } void calculateTotalMarks() { for (int i = 0; i < 3; i++) { totalMarks[i] = 0; for (int j = 0; j < 3; j++) { totalMarks[i] += marks[i][j]; } } } void findHighestMarksInSubjects() { for (int subject = 0; subject < 3; subject++) { int highestMark = marks[0][subject]; int highestRollNo = rollNumbers[0]; for (int student = 1; student < 3; student++) { if (marks[student][subject] > highestMark) { highestMark = marks[student][subject]; highestRollNo = rollNumbers[student]; } } System.out.println( "Highest mark in Subject " + (subject + 1) + ": " + highestMark + " (Roll No: " + highestRollNo + ")" ); } } void findHighestTotalMarks() { int highestTotal = totalMarks[0]; int highestRollNo = rollNumbers[0]; for (int i = 1; i < 3; i++) { if (totalMarks[i] > highestTotal) { highestTotal = totalMarks[i]; highestRollNo = rollNumbers[i]; } } System.out.println( "Highest total marks: " + highestTotal + " (Roll No: " + highestRollNo + ")" ); } public static void main(String[] args) { Scanner scanner = new Scanner(System.in); StuRes studentResults = new StuRes(); int[][] studentMarks = new int[3][3]; System.out.println("Enter details for 3 students:"); for (int i = 0; i < 3; i++) { System.out.print("Enter Roll Number for Student " + (i + 1) + ": "); studentResults.rollNumbers[i] = scanner.nextInt(); System.out.println( "Enter marks for Student with Roll No " + studentResults.rollNumbers[i] + ":" ); for (int j = 0; j < 3; j++) { System.out.print("Subject " + (j + 1) + ": "); studentMarks[i][j] = scanner.nextInt(); } } studentResults.storeMarks(studentMarks); studentResults.calculateTotalMarks(); System.out.println("\nResults:"); studentResults.findHighestMarksInSubjects(); studentResults.findHighestTotalMarks(); scanner.close(); } }