Nosuchelementexception là gì

Tôi không thể hoàn thành hoặc xóa mã cho đến khi tôi giải quyết được sự cố. Tôi đang viết một chương trình Java, bao gồm cả nhận xét, để tính toán số liệu thống kê về cách sinh viên đã làm trong một kỳ thi. Chương trình phải tính toán nhiều thứ khác nhau về một học sinh và in tất cả ra. Sau đó, nó lặp lại quy trình cho từng sinh viên mới cho đến khi toàn bộ tập dữ liệu đã được hoàn thành. (a) Chương trình đọc vào (từ một tệp) và in ra số ID của một học sinh, sau đó là số câu trả lời đúng và số câu trả lời sai. (Tổng số câu hỏi trong bài kiểm tra là 50.) Chương trình tính toán và in ra tổng số câu hỏi được trả lời cộng với số bị bỏ qua (đơn giản là 50 trừ đi số được trả lời). Số đúng cộng với số sai sẽ không bao giờ nhiều hơn 50 [xem tùy chọn (a) bên dưới]. (c) Chương trình tính phần trăm câu trả lời đúng của học sinh, là một giá trị thập phân từ 0 đến 1. Phần trăm câu trả lời đúng là số câu trả lời đúng chia cho số câu hỏi được trả lời. [Học sinh luôn trả lời ít nhất một câu hỏi - xem tùy chọn (b).] Đối với các giá trị dữ liệu được hiển thị cho số ID 1234 ở trên, phần trăm câu trả lời đúng là 20/25 = 0,800. Chương trình sẽ in nó ra như được hiển thị, với ba chữ số thập phân. (d) Chương trình cũng chỉ định cho học sinh điểm số trong bài kiểm tra. Cấp số là số câu trả lời đúng nhân 2 lần (bỏ qua câu trả lời sai). Ví dụ, ID số 1234 có điểm số là 40 trong kỳ thi (20 quyền x 2). Chương trình in điểm của học sinh. (e) Chương trình xác định xem học sinh có nhiều câu trả lời đúng hơn câu trả lời sai, số câu trả lời bằng nhau hay sai nhiều hơn câu trả lời đúng. Nó in ra một thông điệp thích hợp. (f) Chương trình xác định xem học sinh có bỏ qua mười câu hỏi trở lên hay không. Nó in một tin nhắn với thông tin này. (g) Sau đó, chương trình bỏ qua một vài dòng và lặp lại toàn bộ quá trình cho học sinh tiếp theo cho đến khi học sinh cuối cùng kết thúc. (Bạn phải quyết định làm thế nào để nhận ra học sinh cuối cùng.) (Gợi ý: sử dụng trạm gác.) (H) Tại thời điểm đó, in tổng số học sinh trong lớp (bạn phải theo dõi điều này khi chương trình thực thi) và dừng lại . Dữ liệu: Đảm bảo đọc dữ liệu cho ít nhất 12 học sinh. Đảm bảo rằng bạn có ít nhất hai với cùng một số đúng và sai, ít nhất hai với sai nhiều hơn đúng và ít nhất hai với đúng nhiều hơn sai. Bao gồm một học sinh có tất cả các câu trả lời sai và một học sinh có tất cả các câu trả lời đúng (nhưng không phải 50 câu đúng). Có một số học sinh không bỏ sót điều gì và một số học sinh bỏ qua gần như tất cả các câu hỏi. Dữ liệu ra: Đây là toàn bộ kết quả đầu ra cho hai học sinh điển hình: id 1234 id 7890 12 đúng 13 sai 30 đúng 15 sai tổng trả lời 25 tổng trả lời 45 số bỏ đi là 25 số bỏ đi là 5 hạng là 24 hạng sai hơn đúng 60 số đúng hơn câu trả lời đúng sai pct. là 0,480 câu trả lời đúng pct. là 0,667 10 hoặc nhiều hơn bị bỏ qua ít hơn 10 bị bỏ qua / * Thống kê bài kiểm tra

  • Minh họa tệp I / O
  • đầu ra dạng bảng * /

// Cần thiết cho lớp máy quét import java.util.Scanner;

// Cần thiết cho tệp I / O nhập java.io. *;

lớp công cộng HW3 {

//Throws clause added for I/O public static void main(String[] args) throws IOException { //declare variables int ID,TORA,TOWA,AA,G,REL,OMIT; //Declare sentinel for number of students int numstud = 0; //Percentage of correct answer double POCA; //Open input file named testCases.txt File myFile =new File("testCases.txt"); //myFile turns into a reference for my input file "testCases.txt" Scanner inputFile =new Scanner(myFile); //Created a PrintWriter reference variable for output file PrintWriter outputFile = new PrintWriter("output.txt"); //Print table header outputFile.printf("%50s","Exam Stats\n"); outputFile.println(); //Print variable headers outputFile.printf("ID%10s%10s%10s%10s%10s%10s%10s", "TORA", "TOWA", "AA", "G", "REL", "POCA", "OMIT"); outputFile.println(); //Prompt the user to enter an ID System.out.print("Please enter an ID (enter -1 to stop):"); //Read the ID ID = inputFile.nextInt(); while (ID != -1) { //Prompt for and read the total of right answers TORA = inputFile.nextInt(); //Prompt for and read the total of wrong answers TOWA = inputFile.nextInt(); //Calculate the AA = Amount Answered AA = TORA + TOWA; //Calculate the number of omitted questions OMIT = 50 - AA; //Calculate the numerical grade G = TORA *2; //Error message for students who answered more or less questions than 50 if (AA > 50) outputFile.println(); outputFile.println("*ERROR* Please enter -1 to enter a new ID"); outputFile.println(); if (AA < 50) System.out.println(); System.out.println("*ERROR* Please enter -1 to enter a new ID"); System.out.println(); //References for titles of categories in the table outputFile.println("ID : ID"); outputFile.println(); outputFile.println("TORA : Total of right answers"); outputFile.println(); outputFile.println("TOWA : Total of wrong answers"); outputFile.println(); outputFile.println("AA : Amount answered"); outputFile.println(); outputFile.println("G : Number value of grade"); outputFile.println(); outputFile.println("REL : Relationship between right & wrong answers"); outputFile.println(); outputFile.println("POCA : Percentage of correct answers "); outputFile.println("OMIT : <10 ommitted "); outputFile.println(); //Print students exam statistics outputFile.printf("ID","\tTORA","\tTOWA","\tAA","\tG","\tREL","\tPOCA","\tOMIT"); outputFile.println(); //Increment the amount of students numstud++; //Prompt for and enter the next ID System.out.print("Please enter and ID (enter -1 to stop):"); ID = inputFile.nextInt(); } outputFile.println(); outputFile.println("We have processed " + numstud + " students"); //flush the output buffer outputFile.flush(); //Show that the program has completed System.out.println("\nThe program has completef"); //close the input file inputFile.close(); //close the file outputFile.close();
Đây là cuộc thảo luận đi kèm chủ đề gốc tại https://stackoverflow.com/q/70646155