Java题目 编写程序

2025-02-25 22:29:04
推荐回答(6个)
回答1:

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;
}
}

}

}

}

回答2:

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循环呢,一楼 三楼的错了...

回答3:

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);

}
}

回答4:

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);
}
}

回答5:

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);
}
}

回答6:

一楼的可以跑起来。