Java 循环多次计算百分比

Java 循环多次计算百分比,java,bluej,Java,Bluej,使用第二种方法中的感染率和百分比,假设我有169(感染率)和25(百分比),那么结果是42.25,现在是169-42.25=126.25。我想知道发病率(169)值下降到50以下需要多长时间,假设每周下降一定百分比(本例为25)。比方说,在169变为49之前,我必须将这个百分比计算9次(例如)。这九次将代表9周,这就是我寻找的原因 在代码部分public double incidenceDevelopment中,我要做的是计算百分比,然后使用do while尝试计算百分比,直到它变为50或更小,

使用第二种方法中的感染率和百分比,假设我有169(感染率)和25(百分比),那么结果是42.25,现在是169-42.25=126.25。我想知道发病率(169)值下降到50以下需要多长时间,假设每周下降一定百分比(本例为25)。比方说,在169变为49之前,我必须将这个百分比计算9次(例如)。这九次将代表9周,这就是我寻找的原因

在代码部分
public double incidenceDevelopment
中,我要做的是计算百分比,然后使用
do while
尝试计算百分比,直到它变为50或更小,然后返回变量,但它不起作用我的问题是如何做到这一点

公共类事件{
私人住宅;
发病率(){
居民=235723;
}
公共双重计算发病率(双重感染){
双inz;
inz=感染/居民*100000;
返回inz;
}
公共双发病发展(双感染,整数百分比){
双倍持续时间;
持续时间=感染*百分比/100;
持续时间=感染-持续时间;
做{
持续时间=持续时间*百分比/100;
持续时间=感染-持续时间;

}虽然(持续时间这是一个改进的代码,但我认为您希望这样做(以周为单位计算持续时间,而感染率下降百分之一。)


答案是10.5625,在你169例感染和25%感染的例子中,准确地说!这就是我正在尝试做的。但是仍然有一些错误,当使用“273”感染和“30%”的数字时,结果必须是8(周),但我得到24.57,我不知道这是错的。你能解释一下你最初是如何得到8的吗?@AaronMartinez
public class incidence {

private int residents;

incidence() {
    residents = 235723;
}

public double calculateIncidence(double infections) {
    double inz;
    inz = infections / residents * 100000;
    return inz;
}

public double incidenceDevelopment(double infections, int percent) {
    double duration;
    duration = infections * percent / 100;
    duration = infections - duration;
    do {
        duration = duration * percent / 100;
        duration = infections - duration;
    } while (duration <= 50);
    return duration;
}
public class incidence {

private int residents;

incidence() {
    residents = 235723;
}

public double calculateIncidence(double infections) {
    double inz;
    inz = infections / residents * 100000;
    return inz;
}

public double incidenceDevelopment(double infections, int percent) {
    double duration;
    duration = infections * percent / 100;
    infections= infections - duration;
    do {
        duration = duration * percent / 100;
        infections = infections - duration;
    } while (duration > 50);
    return duration;
}