基于流程图实现条件变量计算并输出最终值的Java代码问题
问题原因
你对流程图的理解完全正确,当前代码没有输出的核心原因是缺失循环结构:代码仅执行单次条件判断,初始值C=100远大于E=7,执行完else分支的变量更新逻辑后程序直接终止,永远不会进入打印分支,自然没有任何输出。
最佳解决方案
在外层增加循环结构,包裹所有判断逻辑,只有触发打印条件时才跳出循环,修正后的代码如下:
public class FlowchartTest { public static void main(String[] args) { int C = 100; int O = 5; int D = 4; int E = 7; int S = 2; while (true) { if (C <= E) { if (E <= O) { E = E + C; C = C + 1; } else { // 满足终止条件,打印所有变量后退出 System.out.println("C = " + C); System.out.println("O = " + O); System.out.println("D = " + D); System.out.println("E = " + E); System.out.println("S = " + S); break; } } else { D = E + S; O = O + D; C = C - D; S = S + 1; E = E + S; } } } }
最终输出结果
运行上述代码后,打印的变量值如下:
- C = 14
- O = 100
- D = 31
- E = 113
- S = 7
内容的提问来源于stack exchange,提问作者Zervis _
相关产品推荐
相关产品推荐

