Java 循环和if语句
我想让程序输出模块失败需要多少天(如果模块失败,分数必须低于40)。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
假设输入分数为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;ii
这是天数计数器,当标记<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_007i
在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");