public class Test
{
public static void main(String args[])
{
int num=8000000;//总数
int num21=num/2;//鱼数量的1/2
int num51=num/5;//鱼数量的1/5
int year=0;//年数
boolean is21=false;//控制输出语句
boolean is51=false;//控制输出语句
while(num>=0){
num= num-(int)(num*0.035);
year++;
if(num<=num21){
if(!is21){
is21=true;
System.out.println("过了"+year+" 年鱼下降到了1/2");
System.out.println("鱼的数量为"+num);
}
}
if(num<=num51){
if(!is51){
is21=true;
System.out.println("过了"+year+" 鱼下降到了1/5");
System.out.println("鱼的数量为"+num);
break;
}
}
}
}
}
double num = 8000000;
int count = 0;
boolean flag = true;
while(true){
num = num*(1-0.035);
count++;
if(flag&&num<=8000000/2){
System.out.println("经过"+count+"年后变成1/2");
flag = false;
}
if(num<=8000000/5){
System.out.println("经过"+count+"年后变成1/5");
break;
}
}
为什么要2个while循环呢,一楼 三楼的错了...
public class Main
{
public static void main(String args[])
{
double t=0.965,count=1.0;
int i=0;
while(count>0.5)
{
count=count*t;
i++;
}
System.out.println(i);
i=0;
while(count>0.2)
{
count=count*t;
i++;
}
System.out.println(i);
}
}
public class JTest {
public static void main(String[] args) {
compute(8000000, 2);
compute(8000000, 5);
}
public static void compute(long fishNum,int num){
int year=0;
double nowNum=fishNum;
while(nowNum>fishNum/num){
year++;
nowNum-=(nowNum*0.035);
}
System.out.println(year+"年之后鱼的数目下降到目前的1/"+num);
}
}
import java.io.*;
public class Test {
public static void main(String[] args)throws IOException{
long a=8000000;
int b=0;
int c=0;
while(a>4000000){
a=(long)((1-0.035)*a);
b=b+1;
}
while(a>8000000/5){
a=(long)((1-0.035)*a);
c=c+1;
}
System.out.println(b);
System.out.println(c);
}
}
一楼的可以跑起来。