黑马程序员技术交流社区
标题:
这个答案虽然正确,但是还是有点看不懂。
[打印本页]
作者:
杨立考
时间:
2012-10-2 10:28
标题:
这个答案虽然正确,但是还是有点看不懂。
3000米长的绳子,每天减一半,问,需要多少天,绳子会小于5米?
(把标颜色部分注释说明一下,谢谢!)
import java.util.*;
class Test3
{
public static void main(String[] args)
{
int count=0;
double line =3000;
while(line>=5)
{
line=line/2;
count++;
}
System.out.println(count);
}
}
作者:
覃宏海
时间:
2012-10-2 10:41
本帖最后由 覃宏海 于 2012-10-2 10:47 编辑
3000米长的绳子,每天减一半,问,需要多少天,绳子会小于5米? (把标颜色部分注释说明一下,谢谢!)
import java.util.*;
class Test3
{
public static void main(String[] args)
{
int count=0; --------------------------------------------------->定义一个计数器,用于计数天数。
double line =3000;----------------------------------------->定义绳长,因为是折半,所以肯定不是整数。
while(line>=5)--------------------------------------->当绳长度大于等于5的时候才进行折半
{
line=line/2;-------------------------------------->进行折半操作
count++;------------------------------------->每折半一次,天数加1.
}
System.out.println(count);
}
}
作者:
柏占肖
时间:
2012-10-2 10:43
变量count表示的是天数,初始值为0,变量line表示的是绳子的总长,初始值为3000,while(line>=5){}这表示当绳子的总长小于5米时退出循环,line = line / 2;这就表示绳子减了一半,count++表示每减一次就把天数加一天,当line>=5为false时退出循环打印天数System.out.println(count);
作者:
邱成
时间:
2012-10-2 10:44
mport java.util.*;
class Test3
{
public static void main(String[] args)
{
int count=0; //这个变量时用来记录天数的
double line =3000;//绳子的长度为3000米
while(line>=5)//判断绳子的长度是否小于5米,小于5米时跳出循环
{
line=line/2;//绳子减半
count++;//天数加1
}
System.out.println(count);//打印输出最后绳子小于5米时的天数
}
}
作者:
胡斌
时间:
2012-10-2 10:47
public class Test3{
public static void main(String[] agrs)
{
int count=0; //定义一个变量来记录天数。
double line =3000;//定义绳子的长度。
while(line>=5)//这句话是关键,表示绳子小于5米就退出while循环。
{
line=line/2;
count++;//每次绳子减半,count加1.
}
System.out.println(count);
}
}
作者:
张丽
时间:
2012-10-2 11:39
3000米长的绳子,每天减一半,问,需要多少天,绳子会小于5米? (把标颜色部分注释说明一下,谢谢!)
import java.util.*;
class Test3
{
public static void main(String[] args)
{
int count=0;
double line =3000;
while(line>=5)
{
line=line/2;
count++;
}
System.out.println(count);
}
}
首先考虑绳子的长度每天减一半,就是减半的动作要重复做,使用循环,可以用while和for循环,而循环条件则是绳子长度大于等于5,
问到需要的天数其实就是循环的次数。定义count计数器,line为绳子长度,每天减一半的语句就是line=line/2;然后计数器是记录
绳子减半的次数,所以紧跟着line=line/2,并且在循环里。我想这很容易理解了吧。
也可以写成for循环:
import java.util.*;
class Test3
{
public static void main(String[] args)
{
int count=0;
for(int line=3000; line>=5;)//在java中除法结果肯定是整数,所以line可以定义为int类型。
{
line=line/2;
count++;
}
System.out.println(count);
}
}
作者:
杨华东
时间:
2012-10-2 14:12
本帖最后由 杨华东 于 2012-10-2 14:16 编辑
3000米长的绳子,每天减一半,问,需要多少天,绳子会小于5米? (把标颜色部分注释说明一下,谢谢!)
import java.util.*;
class Test3
{
public static void main(String[] args)
{
int count=0;
//你想想,如何计算天数?肯定是从第0天开始:因为刚开始还没进行减半操作,所以天数为0。
// 以后每减半一次我就让计算机自动给我加一天时间。这个时候定义的这个变量就是我们所说的:
计数器
double line =3000;//
为了记住减半前绳子的长度:因为要进行下面的判断:(line>=5)。所以要定义这样的一个初始长度。
while(line>=5)
//
通过循环判断绳子的当前长度是多少。如果满足执行下面的语句。
{
line=line/2;//
所谓的减半操作。相信你能明白。
count++;//
回忆一哈第一条解释:这时候我们要增加天数啦。
}
System.out.println(count);//
通过循环体的操作 count 已经被多次赋值,你要明白 我们最终得到的是最后一次的赋值,也就是所谓的天数。
}
}
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2