Answered step by step
Verified Expert Solution
Question
1 Approved Answer
in java Modify the application so that it can deal with multiple students. First, ask the user for all student names. Then read in the
in java
Modify the application so that it can deal with multiple students. First, ask the user for all student names. Then read in the scores for all quizzes, prompting for the score of each student. Finally, print the names of all students and their final scores. Use a single class and only static methods.
public class Student | ||
2 | { | |
3 | private double[] scores; | |
4 | private int scoresSize; | |
5 | | |
6 | /** | |
7 | Constructs a student with no scores and a maximum number of scores. | |
8 | @capacity the maximum number of scores for this student | |
9 | */ | |
10 | public Student(int capacity) | |
11 | { | |
12 | scores = new double[capacity]; | |
13 | scoresSize = 0; | |
14 | } | |
15 | | |
16 | /** | |
17 | Adds a score for this student. | |
18 | @param score the score to add | |
19 | @return true if the score was added, false if there was no room to add the score | |
20 | */ | |
21 | public boolean addScore(double score) | |
22 | { | |
23 | if (scoresSize < scores.length) | |
24 | { | |
25 | scores[scoresSize] = score; | |
26 | scoresSize++; | |
27 | return true; | |
28 | } | |
29 | else | |
30 | { | |
31 | return false; | |
32 | } | |
33 | } | |
34 | | |
35 | /** | |
36 | Computes the sum of the scores of this student. | |
37 | @return the sum of the scores | |
38 | */ | |
39 | public double sum() | |
40 | { | |
41 | double total = 0; | |
42 | for (int i = 0; i < scoresSize; i++) | |
43 | { | |
44 | total = total + scores[i]; | |
45 | } | |
46 | return total; | |
47 | } | |
48 | | |
49 | /** | |
50 | Gets the minimum score of this student. | |
51 | @return the minimum score, or 0 if there are no scores. | |
52 | */ | |
53 | public double minimum() | |
54 | { | |
55 | if (scoresSize == 0) { return 0; } | |
56 | double smallest = scores[0]; | |
57 | for (int i = 1; i < scoresSize; i++) | |
58 | { | |
59 | if (scores[i] < smallest) | |
60 | { | |
61 | smallest = scores[i]; | |
62 | } | |
63 | } | |
64 | return smallest; | |
65 | } | |
66 | | |
67 | /** | |
68 | Gets the final score for this student. | |
69 | @return the sum of the scores, with the lowest score dropped if | |
70 | there are at least two scores, or 0 if there are no scores. | |
71 | */ | |
72 | public double finalScore() | |
73 | { | |
74 | if (scoresSize == 0) | |
75 | { | |
76 | return 0; | |
77 | } | |
78 | else if (scoresSize == 1) | |
79 | { | |
80 | return scores[0]; | |
81 | } | |
82 | else | |
83 | { | |
84 | return sum() - minimum(); | |
85 | } | |
86 | } | |
87 | } |
how_to_1/Score Analyzer.java
1 | import java.util.Scanner; | |
2 | | |
3 | public class ScoreAnalyzer | |
4 | { | |
5 | public static void main(String[] args) | |
6 | { | |
7 | Scanner in = new Scanner(System.in); | |
8 | Student fred = new Student(100); | |
9 | System.out.println("Please enter values, Q to quit:"); | |
10 | while (in.hasNextDouble()) | |
11 | { | |
12 | if (!fred.addScore(in.nextDouble())) | |
13 | { | |
14 | System.out.println("Too many scores."); | |
15 | return; | |
16 | } | |
17 | } | |
18 | System.out.println("Final score: " + fred.finalScore()); | |
19 | } | |
20 | } |
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started