所以我知道下面的代码是有效的,但由于我对编码很新,我不明白为什么以及如何工作.如果有人能向我解释,那将有助于我理解编程.
代码如下:
public static double minValue(double[] times){
double minValue = times[0];
for(int i = 1; i < times.length; i++){
if (times[i] < minValue){
minValue = times[i];
}
}
minValue = minValue / 60;
return minValue;
}
Run Code Online (Sandbox Code Playgroud)
这里我不明白的是:double minValue = times[0];为什么这个值0?它也适用于其他数字,低于数组的长度.使用空格或大于数组长度的数字会返回错误,但必须有代码专门使用的原因0.
然后这个:
for(int i = 1; i < times.length; i++){
if (times[i] < minValue) {
minValue = times[i];
}
}
Run Code Online (Sandbox Code Playgroud)
究竟如何确定最小值?
我很难理解我的代码到底出了什么问题.我不是一个好的开发人员,我还在学习,所以所有提示都非常受欢迎!:)
所以我正在做的是有一个while循环来检查用户是否给了Scanner某个字母.如果有,则循环结束.如果没有,它会不断再问这个问题.
我的代码如下:
Scanner userInput = new Scanner(System.in);
String userAnswer = userInput.nextLine();
boolean isTrue = true;
while (isTrue){
if (userAnswer.equals("e")){
System.out.println("Wrong, try again");
userInput.nextLine();
} else if (userAnswer.equals("k")) {
System.out.println("That's right!");
isTrue = false;
break;
}
}
Run Code Online (Sandbox Code Playgroud)
它有效,有点.如果用户给出答案"k"作为第一个答案,则打印出"那是对的!" 然后打破循环.如果用户给出答案"e"作为第一个答案,则打印出"错误,再试一次"并给出一个新行再次回答,但如果你写了正确的字母,即"k",它仍会打印出来"错误,再试一次"循环,不会跳转到"else if"语句.
我如何在这方面工作?非常感谢提前.