1

对于我的作业,我应该使用“*”来制作笔记中规定的图片。基本上我想要帮助的是如何在 for 循环中使用减法。

我的代码:

public class Starshapesver2{
    public static void main(String[] args){

        star(31) ;
        System.out.println(); //I initialize 'star' and 'space' later on

        for(int i=1; i<=7; i=i+1){
            star(14);
            blank(5);
            star(14);
        }
        ...

基本上我将如何将 4 添加到“空白”并从 for 循环内的“空格”中减去 4(这样它会继续添加,所以第一个空白将是 4,然后是 8,然后是 12,依此类推)

抱歉,如果这令人困惑

4

4 回答 4

2

你期待像下面这样的东西吗

 for(int i=1,increment=4; i<=7; i=i+1,increment=increment+4)
        {
        star(14 - increment);
        blank(5 + increment);
        star(14 - increment);
        }
于 2013-10-08T06:25:20.703 回答
1

如果我理解正确,您希望每次通过循环时传递给 star() 和 blank() 的参数都会发生变化。所以你需要使它们成为变量。在循环之外声明它们,并在每次传递时修改它们。像这样的东西:

int numBlanks = 5;

for (int i = 0; i <= 7; i++) {
    blanks(numBlanks);
    numBlanks = numBlanks + 4; // numBlanks will increase by 4 each time through the loop
}
于 2013-10-08T06:33:03.167 回答
1

我假设您想不断地将4添加到空白并从空格中减去4 ,直到循环结束。那么你可以这样做:

public static void main(String[] args)
{
    star(31) ;System.out.println(); //I initialize 'star' and 'space' later on
    int Blankint = 5;
    int spacesint =4// i cannot see your spaces in the code
    for(int i=1; i<=7; i=i+1)
    {
        Star(14);
        blank(5+Blankint);
        Blankint =Blankint+4;
        spaces(20 - spacesint); //assuming this where your space is because you didnt indicated it above.
        spacesint = spacesint+4;
        star(14);
    }
}

使用此代码,您的空白增量 evert 循环将 4 添加到空白并减去 4 到空格

因此,如果您的初始空白是 5,那么接下来将是 9,那么在循环之后它将是 13,依此类推。

于 2013-10-08T06:33:22.437 回答
0

假设您的意思是:“我如何在每次迭代中将 4 添加到空白并从空格中减去 4”。同时假设这些是采用 int 的方法。

for(int i=1; i<=7; i=i+1)
{
    star(14);
    //Make the call with the starting 5 adding i * 4 which varies each iteration
    blank(5 + i * 4);
    star(14);
}

您没有在循环本身中显示空格,但假设它在那里,它可能看起来像:

spaces(startingNumber - i * 4);
于 2013-10-08T06:29:26.160 回答