正在尝试使用用户在JOptionPane中循环后输入的数据



我被我们必须做的任务卡住了,我来这里寻求帮助。他们让我让用户在一个JOptionPane.showInputDialog中输入他们的姓名,所以我在这里做了:

字符串名称=JOptionPane.showInputDialog("在此处输入姓名和姓氏"(;

之后,他们希望用户在3个操作窗格中输入他们在3天内达到的距离,但他们希望它处于循环中,所以我这样做了,如图所示:

int i;
int Day = 0;    
for (i = 1; i <= 3; i++)   
{
Day = (int) Double.parseDouble
(JOptionPane.showInputDialog("Enter Distance " + i + " Here (km): "));
}

然后,问题开始了,因为我不知道如何使用用户输入的数据。我尝试了各种各样的东西,但现在我只是坐在这个代码面前,这真是一场火车大战。

double day1 = 0;
double day2 = 0;
double day3 = 0;
double total = day1 + day2 + day3;
double average = total / 3;
System.out.println(name + ":");
System.out.println("Day 1: " + day1);
System.out.println("Day 2: " + day2);
System.out.println("Day 3: " + day3);
System.out.println("That is a total of " + total + 
"km, giving an average of " + average + "km per day.");

如果这仍然令人困惑,我会附上他们提出的问题,任何形式的帮助都将不胜感激!

谢谢<3

由于Day只是一个数字,每个值只会持续循环的时间。循环运行3次后,您将只获得最后一个值。您不再具有前两个值。解决问题的一种方法是在循环中输入每个值时对其进行处理。例如,您可以使用该值立即打印出消息。您也可以将其添加到总数中,以便在循环结束后打印出总数和平均值。

几种可能的解决方案之一是使用整数数组。在输入循环中,您可以将每个值读取到数组中,以便以后可以使用所有值。

例如:

// int array of 3 integers
int[] day = new int[3];
for(int i = 1; i <= 3; i++) {
// array index 0 to 2, so use i - 1 for array access
day[i - 1] = (int) Double.parseDouble
(JOptionPane.showInputDialog("Enter Distance " + i + " Here (km): "));
}

然后,例如,您可以将这些值分配给day1, day2, day3变量。

double day1 = day[0];
double day2 = day[1];
double day3 = day[2];

我希望这能解决你的问题。

感谢您的回复和反馈,这就是我得到的解决方案,现在该程序可以用来记录步行、跑步、骑自行车或游泳3天的公里数。这是一项我必须完成的任务——这不是最难的,但我对这件事还是个新手。

String name =  JOptionPane.showInputDialog
("Enter Name And Surname Here: ");

System.out.println(name + ":");

double total = 0;

double km;

for (int i = 1; i <= 3; i++)
{
km = Double.parseDouble(JOptionPane.showInputDialog
("Enter Distance of Day " + i ));
System.out.println("Day " + i + ": " + km);
total += km;
}

System.out.println("That gives a total of " + total
+ "km, giving an average of " + ( total / 3) + "km per day.");


} 

}

如果有人有类似的东西,我希望这能有所帮助!~

谢谢

最新更新