String resp = scanner.next(); int[] request = new int[3]; for (int i = 0; i < 3; i++) { request[i] = scanner.nextInt(); } int index = Arrays.asList(process).indexOf(resp); System.out.println(checkSafeState(resp, request, index)); scanner.close(); } public static boolean checkSafeState(String resp, int[] request, int index) { for (int x = 0; x < 3; x++) { if (request[x] > need[index][x]) return false; if (request[x] > available[x]) return false; } int[][] work = new int[5][3]; for (int i = 0; i < 3; i++) { available[i] -= request[i]; allocation[index][i] += request[i]; need[index][i] -= request[i]; }