SSD3-EXAM1

    技术2022-05-12  11

    import  java.io.*; import  java.util.*; /* DOCUMENT THIS CLASS */ public class StudentApplication  {     /* Standard input stream */     private static BufferedReader  stdIn =         new  BufferedReader(new  InputStreamReader(System.in));     /* Standard output stream */     private static PrintWriter  stdOut =         new  PrintWriter(System.out, true);     /* Standard error stream */     private static PrintWriter  stdErr =         new  PrintWriter(System.err, true);     /* Delimiter of student values */     private static final String DELIM = "_";     /* Minimum grade */     private static final int MIN_GRADE = 0;     /* Maximum grade */     private static final int MAX_GRADE = 100;     /**      * This program reads, from the standard input, a student's grades;      * and then displays, to the standard output, that student's average.      *      * @param args  not used      * @throws IOException  if error reading from the standard input.      */     public static void main(String[]  args) throws IOException  {         Student student = readStudent();         stdOut.println("The average of the student is: "  +             student.computeAverage());     }     /* DOCUMENT THIS METHOD */     public static Student readStudent() throws IOException {         String name = "";         int exam1 = 0;         int exam2 = 0;         int exam3 = 0;         /* PLACE YOUR CODE HERE */                 do{             try{                  stdErr.println();                  stdErr.print("student [name_exam1_exam2_exam3]> ");                  stdErr.flush();                  StringTokenizer  tokenizer =                            new  StringTokenizer(stdIn.readLine(),DELIM);                                   if(tokenizer.countTokens()==4){                     name=tokenizer.nextToken();                     exam1=Integer.parseInt(tokenizer.nextToken());                     exam2=Integer.parseInt(tokenizer.nextToken());                     exam3=Integer.parseInt(tokenizer.nextToken());                                         if(exam1<0||exam1>100||exam2<0||exam2>100||exam3<0||exam3>100){                          stdErr.println("Number out of range");                     }else{                          return new Student(name, exam1, exam2, exam3);                     }                                          }else{                     stdErr.println("Invalid input line");                  }                                }catch(IOException e){                  stdErr.println("Incorrect number format in the line");             }         }while(true);     } }

    最新回复(0)