这是我到目前为止所拥有的。
预期结果:
1+1 = 2 1+2 = 3 1+3 = 4 1+4 = 5 then
2+1 = 3 2+2 = 4 so on until 4+4 = 8*
代码I<尝试:
SET SERVEROUTPUT ON
DECLARE
v_i number := 1;
v_j number := 1;
v_x number := 0;
BEGIN
WHILE v_i < 5 LOOP
WHILE v_j < 5 LOOP
v_x := v_i + v_j;
DBMS_OUTPUT.PUT_LINE(v_i||'+'||v_j||' is: '||v_x);
v_j := v_j +1;
END LOOP;
v_i := v_i + 1;
v_j := 1;
END LOOP;
END;
/
SET SERVEROUTPUT OFF
解决了它。感谢
SET SERVEROUTPUT ON
DECLARE
v_i number := 1;
v_j number := 1;
v_x number := 0;
BEGIN
LOOP
v_x := v_i + v_j;
DBMS_OUTPUT.PUT_LINE(v_i||'+'||v_j||' is: '||v_x);
v_j := v_j + 1;
IF v_j = 5 THEN
v_j := 1;
v_i := v_i + 1;
EXIT WHEN v_i = 5;
END IF;
END LOOP;
END;
/
SET SERVEROUTPUT OFF
这是一个简单的逻辑错误
答案 0 :(得分:0)
我不知道PI / SQL,但据我所知,这可能会做你想要的。为清晰起见,我使用缩进,如果在PI / SQL
中不允许,则删除它SET SERVEROUTPUT ON
DECLARE
v_i number := 1;
v_j number := 1;
v_x number := 0;
BEGIN
LOOP
v_x := v_i + v_j;
DBMS_OUTPUT.PUT_LINE(v_i||'+'||v_j||' is: '||v_x);
v_j := v_j + 1;
IF v_j = 5 THEN
IF v_i < 4 THEN
v_i := v_i + 1;
v_j := 1;
ELSE
EXIT;
END IF;
END IF;
END LOOP;
END;
/
SET SERVEROUTPUT OFF