我有一个循环的作业,我需要帮助。这真的很简单,但我不知道如何使用循环。我需要使用循环打印出三个形状。形状由星号组成,但我只允许一次打印一个星号,所以我必须循环打印形状。第一个形状是一个接一个地连续10个星号。第二行只有十行,每行有一个星号。最后一个是最难的一个。它是一个有十行的形状。并且第一行有一个星号,第二行有两个,第三行有三个等等,然后第十行有十个星号。我尝试使用我以前的作业在过去三个小时内完成它,但它没有成功。这是:
public class assignment9 {
public static void main(String args[]) {
for (Integer i = *; i >= *; i=i-*) {
if ((i % *) == *) {
System.out.println("i = " + i);
}
}
}
}
我正在上一门计算机科学课,这是我需要的科学学分。我不打算成为一名计算机科学家。如你所见,这不是我的强项。
答案 0 :(得分:1)
for(int i = 0; i<TheAmountOfAsterisks; i++){
Code for printing out an asterisk
}
编辑提供解释:
for(declarations; condition; action){function}
通过输入Integer i = 0,我们声明一个名为i的临时变量,它只能在循环中使用。条件是循环停止需要的条件。在这种情况下,只要i小于星号的数量,它就会继续运行循环。每次循环运行时,操作都将完成 - 在这种情况下,向i添加1。请记住,我从0开始,因此使用&lt;而不是&lt; =。它将在执行操作之前运行循环。该功能是您想要在循环中执行的操作。
答案 1 :(得分:1)
以下是关于第三种形状的推理方法。在此之后,您应该能够弄清楚其他两个,因为它们更简单:
您需要打印10行。一个好方法是从0开始计数并向上移动到10(不包括 10,否则你将获得11次迭代)。您通过将计数器增加一个来移动目标(如果i
是您的计数器,则i++
将计数增加一个)。所以,首先你的变量的值为0,然后是1,然后是2,然后是3,然后是4,然后是5,然后是6,然后是7,然后是8,最后是9.这里是那个部分:
for(int i = 0; i < 10; i++) { // this means: "repeat 10 times the following"
当i
为0时打印第一行,您需要为此打印1个星号。当i
为1时打印第二行,您需要打印2个星号。等等。因此,一般情况下,您需要打印与计数器的价值一样多的星号,加上一个(您的计数器为i
,因此您需要(i + 1)
星号)。由于您一次只能打印一个星号,因此可以重复(i + 1)
次打印单个星号,如下所示:
for(int k = 0; k < (i + 1); k++) // this means "repeat (i + 1) times...
System.out.print("*"); // ...the printing of a single asterisk"
一旦您为此行打印了所有必需的星号,请转到下一行:
System.out.println(); // this means "move to the next line"
}
它已经结束了。