问题描述
我想在 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 来保持代码整洁