我的情况是在Java中编写一个嵌套的while循环以产生以下输出。因此1 12 123必须降临。没有其他方法,我无法解决。 (Java中while循环的第一个介绍)
测试1
测试一些东西1 测试东西2
测试一些东西1 测试东西2 测试3的东西
测试一些东西1 测试东西2 测试的东西3 测试4项
依此类推。
这是我的代码
parentNode
DECLARE @PIN AS VARCHAR(100);
DECLARE @name AS VARCHAR(500);
DECLARE @start INT , @length INT;
DECLARE db_cursor CURSOR LOCAL FOR SELECT FileName FROM [dbo].[pharmaCV];
SET @length = 11
OPEN db_cursor
FETCH NEXT FROM db_cursor INTO @name
WHILE @@FETCH_STATUS = 0
BEGIN
SET @PIN = RTRIM(@name)
SET @PIN = RIGHT(@PIN, CHARINDEX('_', REVERSE(@PIN) + '_') - 1)
SET @PIN = SUBSTRING (@PIN , 0, @length )
UPDATE pharmaCV SET PIN = @PIN WHERE FileName LIKE '%'+@PIN +'%'
FETCH NEXT FROM db_cursor INTO @name
END
CLOSE db_cursor
DEALLOCATE db_cursor
答案 0 :(得分:2)
这是为您提供的一种方法:
public static void testingWhileLoops(int amount) {
int i = 1;
//This flag will control the vertical number of levels
while(i <= amount) {
int k = 1;
//This flag will control the horizontal number of prints
while(k <= i) {
System.out.print("Testing something " + k + " ");
k++;
}
i++;
System.out.println();
}
}
输出:
Testing something 1
Testing something 1 Testing something 2
Testing something 1 Testing something 2 Testing something 3
Testing something 1 Testing something 2 Testing something 3 Testing something 4
Testing something 1 Testing something 2 Testing something 3 Testing something 4 Testing something 5
答案 1 :(得分:2)
我认为您需要更改循环的条件。 同样,更改为使用未使用的变量“金额”。 请参阅下面的代码。
public class StackOverflowTest {
public static void testingWhileLoops(int amount) {
int i = 1;
while (i <= amount) {
int k = 1;
while (k <= i) {
System.out.print("Testing something " + k + " ");
k++;
}
System.out.println();
i++;
}
}
public static void main(String[] args) {
testingWhileLoops(4);
}
}
Testing something 1
Testing something 1 Testing something 2
Testing something 1 Testing something 2 Testing something 3
Testing something 1 Testing something 2 Testing something 3 Testing something 4
答案 2 :(得分:1)
如果您想在文本后面输入数字,则可以在其后打印
System.out.println("Testing something " + k + " ");
如果您不想转到新行,请使用print
代替println
System.out.print("Testing something " + k + " ");
如果您想增加该值,请从1
开始并使用k++
,然后在代码中将amount
的值用于外部循环
static void testingWhileLoops(int amount) {
int i = 1;
while (i <= amount) {
int k = 1;
while (k <= i) {
System.out.print("Testing something " + k + " ");
k++;
}
System.out.println();
i++;
}
}
答案 3 :(得分:1)
尝试一下:
{{1}}
答案 4 :(得分:1)
假设您的预期输出如下:
//Testing something 1
//Testing something 1 Testing something 2
//Testing something 1 Testing something 2 Testing something 3
//Testing something 1 Testing something 2 Testing something 3 Testing something 4
在testingWhileLoops(amount)
中使用以下代码:
// Iterate through each row. We set the conditional statement to amount + 1 to
// account for the amount of rows requested.
for(int i = 0; i < amount + 1; i++) {
for(int j = 0; j < i; j++) {
System.out.print("Testing Something " + (j+1) + " ");
}
System.out.println();
}
当amount
等于4时,将显示所需的输出。