mein Lehrer hat uns gebeten, einen Benutzer für eine Startzeit und eine Stoppzeit eines Rennfahrers zu bitten, indem Sie sie bitten, eine Zeit (HH, mm, SS) einzugeben, die das JOptionPane verwendet . Ich bin mir nicht sicher, wie ich das machen soll. Ich habe versucht, integer.parseint (joptionpane ....), aber ich bekomme Fehlermeldungen, wenn ich eine Zeit eingeben. Außerdem weiß ich, dass das Problem darin besteht, dass ich einen Benutzer auffordere, eine Zeit für meine Zeitklasse einzugeben, die anders sein sollte. Ich brauche Hilfe, um von diesem Punkt aus anzufangen. Hier ist mein Code (Ich habe auch in es meine Zeit Klasse enthalten:Bitten um eine Benutzereingabe für die Zeit mit JOptionPane
package Racers.java;
import javax.swing.JOptionPane;
public class Racers
{
public static void main(String[] args)
{
//racer1
String racer1;
Time startTime1;
Time stopTime1;
double elapsedTime1;
//assigning racer1
racer1 = JOptionPane.showInputDialog("Please enter the name of the first racer: ");
startTime1 = new Time();
stopTime1 = new Time();
elapsedTime1 = stopTime1.minus(startTime1).getTime();
JOptionPane.showMessageDialog(null,
"Here is the racer's name, start time, stop time, and elapsed time:\n"
+ racer1 + (" - ") + ("Start time: ") + startTime1 + ("; ") + ("Stop time: ") + stopTime1 + ("; ") + ("Elapsed time: ") + elapsedTime1 + "\n"
}//End main
}//End Racers
class Time
{
//Variable to hold seconds
double seconds;
//Constructors for class Time
public Time()
{
seconds = 0.0;
}
public Time(double newSeconds)
{
seconds = newSeconds;
}
public Time(int hours, int minutes, double newSeconds)
{
seconds = (double)(hours * 3600 + minutes * 60) + newSeconds;
}
//Observers for class Time
public double getTime()
{
//Return elapsed time
return seconds;
}
public int getHours()
{
//Compute whole hours from seconds
return (int)seconds/3600;
}
public int getMinutes()
{
//Seconds after hours taken out
int remainingSeconds = (int)seconds % 3600;
//Compute minutes from remainder
return remainingSeconds/60;
}
public double getSeconds()
{
//Seconds after minutes taken out
return seconds % 60.0;
}
//Returns HH:MM:SS.FFF
public String toString()
{
int hours = (int)seconds/3600;
int minutes = (int)seconds % 3600/60;
return hours + ":" + minutes + ":" + seconds % 60.0;
}
//Operations for class Time
public Time plus(Time otherTime)
{
return new Time(seconds + otherTime.seconds);
}
public Time minus(Time otherTime)
{
return new Time(seconds - otherTime.seconds);
}
}//End Time