我有一些代码可以显示正确的信息,但循环只重复一次,我需要重复,直到达到最大值。
double x, v, max = .092 * Volt;
int t = 0, resistance = initialResistance, stop = 0;
System.out.print("\t");
for (int column = initialResistance -= 100; column < finalResistance; column += 100) {
System.out.print(resistance + " \t");
if (resistance < finalResistance) {
resistance += 100;
}
}
System.out.println("");
for (int i = 0; i <= t; i += 10) {
System.out.print("t:");
for (int j = initialResistance -= 100; j < resistance; j += 100) {
if (resistance < finalResistance) {
resistance += 100;
}
while (stop != 1)
{
resistance = initialResistance;
for (int r = initialResistance -= 100; r <= resistance; r += 100) {
if (resistance >= finalResistance)
{
resistance = finalResistance;
}
x = -(t / (resistance * capacitorValue));
v = Volt * (1 - Math.pow(BASE, x));
if (v <= max)
System.out.print("\t"+ String.format("%.2f", v));
else
System.out.print("");
if (r >= resistance && v > max)
{
stop = 1;
}
resistance += 100;
}
t += 10;
System.out.println("");
}
}
}
500 600 700
t:0.00 0.00 0.00 0.00 0.00 0.00 0.00
0.92 0.77 0.67 0.67 0.67
T:T:T:
是当前显示,当500和700是初始和最终阻力而.25是capacticorValue
所以它显示正常,但需要重复更多,我需要摆脱额外的0.00和.67并找出为什么它不在第二行显示“t:”
答案 0 :(得分:0)
我认为这是因为initialResitance - 100
比resistance
小100,如果j
(或r
)每次增加100, s 100 / 100 = 1
答案 1 :(得分:0)
在j
循环的第一次迭代期间,内部while(stop != 1)
循环被stop = 1
打破。当第二次j
迭代开始时,此标志变量保持设置。永远不会再次输入while
循环,因为stop
仍为1。
注意,在while循环后重置停止为'0'没有帮助。程序将无限期运行,因为t
在内循环中递增,因此for(int i
循环永远不会停止。
答案 2 :(得分:0)