如何解决类似于 JAVA for RPG 的 LOOP FOR
我想在 RPG 中制作相同的循环 Java。但是我的语法有问题。
int nombre = 0;
int somme = 0;
int i = 0;
System.out.print("Entrer votre nombre svp : ");
nombre = enter.nextInt();
for(i = 0; i<=nombre; i++){
somme += i;
}
System.out.print("Le nombre de départ est " + nombre + " et la somme total est " + somme);
在 RPG 中,我被困在下面的这条线上。我没看到我在网上忘记了什么?
For i = 1 by Nombre;
这是我的代码
H
D Nombre S 3S 0
D Somme S 3S 0
D i S 2P 0
*
/Free
dsply 'Entrer votre nombre svp : ' '' Nombre;
For i = 1 by Nombre;
Somme += i;
EndFor;
dsply 'La somme est de ' %Char(Somme);
*inlr = *on;
/End-Free
解决方法
我找到了!
这是我的代码
H
D Nombre S 3S 0
D Somme S 3S 0
D i S 2P 0
*
/Free
dsply 'Entrer un nombre svp ' '' Nombre;
For i = 0 to Nombre;
Somme = Somme + i;
EndFor;
dsply (%Char(Somme));
*inlr = *on;
/End-Free
,
我有点晚了,但最终我可以帮助其他人,然后是请求者。
对操作员自己的回答的一些想法:
- 对声明也使用自由格式
- 不要使用 /free 你不再需要它们
dcl-proc iterate;
dcl-pi *n;
end-pi;
//---
dcl-c ARRAY_LENGTH 10;
dcl-s array int(10) dim(ARRAY_LENGTH);
dcl-s i int(10) inz(1);
for i to ARRAY_LENGTH by 1;
array(i) = i;
dsply %char(array(i));
endFor;
//---
end-proc;
对我的代码的一些想法:
- 预先初始化您的 i 或者您可以使用
for i=1 to ARRAY_LENGTH by 1;
- 使用 by 操作码代替 i += 1 来保持代码整洁
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。