Write a class Measurement which has two private instance variables: String name
ID: 3668910 • Letter: W
Question
Write a class Measurement which has two private instance variables: String name and double distance, which represents the distance recorded by an athlete in the Long Jump competition in the Olympiad The program must keep track of the current highest distance (Gold Medal), die second highest distance (Silver Medal) and the third highest record (Bronze Medal). So there must be three static methods for this task: public static double Gold ();//returns the current highest distance public static double Silver ()//returns the current second highest distance public static double Bronze()//returns the current third highest distance Any of the three above methods should return -1 if still no measurement achiev es the medal.(See Sample Run). Sample Run: public class MeasurementTestExplanation / Answer
//Measurment.java
public class Measurment {
private String name;
private double distance;
private static double distanceGold = -1;
private static double distanceSilver = -1;
private static double distanceBronze = -1;
public Measurment(String name, double distance) {
this.name = name;
this.distance = distance;
if (distance > distanceGold) {
distanceBronze = distanceSilver;
distanceSilver = distanceGold;
distanceGold = distance;
} else if (distance > distanceSilver) {
distanceBronze = distanceSilver;
distanceSilver = distance;
} else if (distance > distanceBronze) {
distanceBronze = distance;
}
}
public static double Gold() {
return distanceGold;
}
public static double Silver() {
return distanceSilver;
}
public static double Bronze() {
return distanceBronze;
}
}
//MeasurmentTest.java
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
public class MeasurmentTest {
public static void main(String[] args) {
JFrame frame = new JFrame("Demo application");
frame.setSize(600, 300);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JPanel panel = new JPanel();
frame.add(panel);
placeComponents(panel);
frame.setVisible(true);
}
private static void getMedalDetails() {
System.out.println(Measurment.Gold());
System.out.println(Measurment.Silver());
System.out.println(Measurment.Bronze());
}
private static void placeComponents(JPanel panel) {
panel.setLayout(null);
JLabel nameLabel = new JLabel("Name");
nameLabel.setBounds(10, 10, 80, 25);
panel.add(nameLabel);
final JTextField nameText = new JTextField(20);
nameText.setBounds(100, 10, 160, 25);
panel.add(nameText);
JLabel distanceLabel = new JLabel("Distance");
distanceLabel.setBounds(10, 40, 80, 25);
panel.add(distanceLabel);
final JTextField distanceText = new JTextField(20);
distanceText.setBounds(100, 40, 160, 25);
panel.add(distanceText);
JLabel goldLabel = new JLabel("Gold");
goldLabel.setBounds(10, 110, 80, 25);
panel.add(goldLabel);
final JTextField goldText = new JTextField(20);
goldText.setBounds(100, 110, 160, 25);
panel.add(goldText);
JLabel silverLabel = new JLabel("Silver");
silverLabel.setBounds(10, 140, 80, 25);
panel.add(silverLabel);
final JTextField silverText = new JTextField(20);
silverText.setBounds(100, 140, 160, 25);
panel.add(silverText);
JLabel bronzeLabel = new JLabel("Bronze");
bronzeLabel.setBounds(10, 170, 80, 25);
panel.add(bronzeLabel);
final JTextField bronzeText = new JTextField(20);
bronzeText.setBounds(100, 170, 160, 25);
panel.add(bronzeText);
JButton clickButton = new JButton("insert & calculate");
clickButton.setBounds(10, 80, 250, 25);
panel.add(clickButton);
clickButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
Measurment m = new Measurment(nameText.getText(), Double
.parseDouble(distanceText.getText()));
goldText.setText(String.valueOf(Measurment.Gold()));
silverText.setText(String.valueOf(Measurment.Silver()));
bronzeText.setText(String.valueOf(Measurment.Bronze()));
}
});
}
}
Related Questions
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.