Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/384.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 循环和if语句_Java - Fatal编程技术网

Java 循环和if语句

Java 循环和if语句,java,Java,我想让程序输出模块失败需要多少天(如果模块失败,分数必须低于40)。 假设输入分数为82,天数为10。 经过8次循环后,标记将达到42。 9次之后,它将是37(每“一天”将减少标记5) 我不知道如何输出分数低于40需要多少天 下面是一个例子: Mark: 82 Days: 10 输出: (0) 82 (1) 77 (2) 72 (3) 67 (4) 62 (5) 57 (6) 52 (7) 47 (8) 42 (9) 37 (10) 32 这项工作可能延迟8天才能失败。(问题出在这里) im

我想让程序输出模块失败需要多少天(如果模块失败,分数必须低于40)。
假设输入分数为82,天数为10。
经过8次循环后,标记将达到42。
9次之后,它将是37(每“一天”将减少标记5)

我不知道如何输出分数低于40需要多少天

下面是一个例子:

Mark: 82
Days: 10
输出:

(0) 82 (1) 77 (2) 72 (3) 67 (4) 62 (5) 57 (6) 52 (7) 47 (8) 42 (9) 37 (10) 32
这项工作可能延迟8天才能失败。(问题出在这里)

import java.util.Scanner;
公共课迟到{
公共静态void main(字符串[]args){
整数标记;
整数天;
扫描仪scn=新扫描仪(System.in);
系统输出打印项次(“输入标记”);
mark=scn.nextInt();
System.out.println(“输入天数”);
numberOfDays=scn.nextInt();

对于(int i=0;i
i
这是天数计数器,当
标记<40

但是,除了check
<20
,您真的需要循环吗

int mark = 82;
int daysToFail = (mark - 40) / 5; // This is 8
if (daysToFail <= numberOfDays) {
    System.out.printf("It takes %d days to fail\n", daysToFail);
} else {
    System.out.println("You passed!");
}
int-mark=82;
int daysToFail=(标记-40)/5;//这是8

如果(daysToFail为什么要循环?为什么不仅仅是:

System.out.println("It takes " + (int) Math.ceil((mark-39)/5.0) + " days to fail");

,其中,
标记
是初始输入值?

这是什么
(0)82(1)77(2)72
语法?如果只是一个列表,那么
[82,77,72]
更容易理解是的,我可以在完成算法后处理这个方面
“需要”+i+“几天才能失败”
??@cricket_007
i
mark
低于40时可以继续增加,因此
i
不会总是包含正确的天数,除非当
mark
低于40时你打破for循环。如果(mark=34){System.out.println(“需要”+i+,我将其放入foor循环“失败”);我需要循环停止低于20,是的,在这种情况下,它会打印“失败需要13天”。这不是目的吗?
System.out.println("It takes " + (int) Math.ceil((mark-39)/5.0) + " days to fail");