我在这里为跑步者开发一个简单的统计程序。仅获取一场比赛的数据。在有stackoverflow的帮助后,我有第一部分运行的代码!
想法是,比赛结束后,我们可以输入跑步者的姓名和时间。我希望然后通过搜索一个人的姓名来搜索一个人的跑步时间(然后您会在屏幕上看到跑步者的姓名和他们的时间。在Java中可以这样做吗?谢谢Cassy。
这是我的代码...
import java.util.Scanner;
public class Trying
{
public static void main (String[] args)
{
int num;
Scanner input= new Scanner (System.in);
System.out.println("******************************************************************* ");
System.out.println("Welcome to Running Race Time Statistical Analysis Application");
System.out.println("******************************************************************* \n");
System.out.println("Please input number of participants (2 to 10)");
num=input.nextInt();
// If the user enters an invalid number... display error message...
while(num<2|| num >10)
{
System.out.println("Error invalid input! Try again! \nPlease input a valid number of participants (2-10)...");
num=input.nextInt();
}
// declare arrays
double resultArray [] = new double [num]; // create result array with new operator
String nameArray [] = new String [num];// create name array with new operator
// Using the num int will ensure that the array holds the number of elements inputed by user
// loop to take in user input for both arrays (name and result)
double count = 0;
for (int i = 0 ; i < nameArray.length ; i++)
{
System.out.println ("Please enter a race participant Name for runner " + (i+1) );
nameArray[i] = input.next();
System.out.println ("Please enter a race result (time between 0.00 and 10.00) for runner " + (i+1) );
resultArray[i] = input.nextDouble();
count += resultArray[i]; // This count variable is used later to calculate average from total
}
}
}
最佳答案
如果只希望用户能够搜索名称,请使用以下命令:
String entered;
while(true) {
entered = input.nextLine();
if(entered.equalsIgnoreCase("exit")) break;
for(int i = 0; i < nameArray.length; i++) {
if(entered.equals(nameArray[i])) {
System.out.println("Name: " + nameArray[i] + "\tTime: " + resultArray[i]);
}
}
}