簡體   English   中英

for 循環產生一系列不同的數字

[英]for loop that produces series of different numbers

我找到了一些與我的問題類似的主題,但仍然無法弄清楚任務,所以我認為最好創建我自己的主題。

我需要編寫一個產生以下輸出的 for 循環:

289 256 225 196 169 144 121 100 81

為了增加挑戰,請嘗試修改您的代碼,使其不需要使用 * 乘法運算符。

這是我下面的代碼,我被困在這里所以請幫忙。

public class Exercises2{
   public static void main(String[] args){
      int start = 19;
      int increment = 2;
      for(int count = 81; count <= 289; count++){


         System.out.println(count + start);
         start = increment + start;         

      }
   }
}

下面是你需要的。 注意 for 循環中的 count+=start 增量和從 17 開始的 start+=increment 增量,因此您第一次將 count 增加 19,第二次增加 21,依此類推。

記住 for 循環不需要 count++,它可以是最后一部分中的任何有效命令,也可以完全省略

int start = 17;
int increment = 2;
for(int count = 81; count <= 289; count+=start){
    System.out.println(count);
    start+=increment;
}

你有沒有想出在系列中生成數字的模式? 如果不是,乘法“挑戰”實際上是它如何產生的一個重要提示。

之后嘗試弄清楚如何編寫一個手動執行乘法的循環,這應該會給你你正在尋找的答案。

你的主要問題是你增加的計數不夠。 如果您要將計數從 81 變為 289,那么您需要做的不僅僅是計數,而不僅僅是 ++; 只需幾處更改即可修復您自己的代碼。 將起始值更改為 17,並將計數的遞增方式更改為計數 += 開始。

int start = 17;
int increment = 2;
for(int count = 81; count <= 289; count += start){      
    System.out.println(count);
    start += increment;
}

我認為自己做功課是有價值的,並且弄清楚它可以為程序員帶來很多好處和收獲。 但這是你沒有乘法的答案:

 int start = 2;

int increment = 19;

int value = 81;

int _max = 289;

while(value <= _max)
{
    System.out.println(value);
    value += increment;
    increment += start;
}

嘗試這個。

    int start=17;  
    int end=9;     
    for(int i=17;i>=9;i--)
    {
        System.out.println (i*i);

    }   

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM