我正在尝试编写一个程序来计算跑步者的预设条目,并确定谁是最快的。它应该将时间列为
Suzie 329
菲尔445每个都有相等的间距,但我的上面打印出来了。
我也无法将最终结果的时间分解为分钟和小时。
我的问题是:无论名称多长,我如何在每个输出的时间内使输出间距相同,以及如何将最终时间分解为分钟和小时?
如果您给出答案,您可以解释每个步骤的工作原理并展示代码的外观吗?
这是我到目前为止所拥有的:
final int numRunners = 16;
String[] names = { "Elena", "Thomas", "Hamilton", "Suzie",
"Phil", "Matt", "Alex", "Emma", "John", "James",
"Jane", "Emily", "Daniel", "Neda", "Aaron", "Kate" };
int[] times = { 341, 273, 278, 329, 445, 402, 388,
275, 243, 334, 412, 393, 299, 343, 317, 265 };
for (int i = 0; i < names.length; i++) {
System.out.println(names[i] + ": " + times[i]);
}
fastestRunners(names, times);
}
public static void fastestRunners(String [] names, int [] values){
int i;
int fastest = 0;
for (i = 0; i < values.length - 1; i++){
if ( values [i] < values[i + 1]){
fastest = i;
}
else {
fastest = i + 1;
}
}
System.out.println("The fastest runner is " + names[fastest] + " whose time in minutes is " + values[fastest]);
}
}
答案 0 :(得分:0)
你错过了课程的一部分。这永远不会编译。无论如何,我按如下方式编写主循环:
<android.support.constraint.ConstraintLayout
android:id="@+id/parentLayout"
xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"
android:layout_height="match_parent" android:orientation="vertical"
android:animateLayoutChanges="true">
<android.support.v4.widget.NestedScrollView
android:id="@+id/nestedScrollView"
android:layout_width="0dp"
android:layout_height="0dp"
android:focusable="false"
android:focusableInTouchMode="false"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toTopOf="@id/autoHideLayout"
>
<LinearLayout
android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical">
<EditText
android:id="@+id/titleEditText" android:layout_width="match_parent" android:layout_height="wrap_content"
android:ellipsize="end" android:hint="title" android:imeOptions="actionNext|flagNoExtractUi"
android:inputType="text|textAutoCorrect|textCapSentences" android:maxLines="1"
android:nextFocusDown="@id/contentEditText" android:nextFocusForward="@id/contentEditText"
android:scrollHorizontally="true" android:textColor="#2a2f3b" android:textColorHint="#a3a3a3"
android:background="@android:drawable/alert_light_frame"
android:textSize="21sp"/>
<EditText
android:id="@+id/contentEditText" android:layout_width="match_parent"
android:layout_height="wrap_content" android:background="@android:drawable/alert_light_frame" android:gravity="top"
android:hint="content" android:imeOptions="actionDone|flagNoEnterAction|flagNoExtractUi"
android:inputType="textMultiLine|textAutoCorrect|textCapSentences" android:textSize="18sp"/>
</LinearLayout>
</android.support.v4.widget.NestedScrollView>
<LinearLayout
android:id="@+id/autoHideLayout" android:layout_width="0dp" android:layout_height="0dp"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
android:orientation="horizontal" android:visibility="visible" tools:visibility="visible"
app:layout_constraintBottom_toBottomOf="parent">
<Button
android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="button"/>
<Button
android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="button2"/>
</LinearLayout>
</android.support.constraint.ConstraintLayout>
因为你现在拥有的东西不起作用。至于分钟和小时,您可以按如下方式计算:
int fastest = 0;
for (int i = 1; i < values.length; i++) {
if ( values [i] > values[fastest]) {
fastest = i;
}
}