簡體   English   中英

如何將數學方程應用於 for 循環中的每個數字?

[英]How do I apply a mathematical equation to each number in a for loop?

我已經進行了一些搜索並嘗試了一些我找到的解決方案,但其中很多都導致了我遇到的同樣問題。 我想對 for 循環的每個數字應用一個數學方程。 我遇到的問題是該等式僅出現在該 for 循環中的最后一個數字上。 例如:

for (int i = 3; i <= 5; i++)
{
    radius = i;
    area = (Math.PI * (radius * radius));
    System.out.println (radius)
}

我的代碼比這更廣泛,但這是我遇到問題的部分。 它打印:

3
4
5
Radius: 5
Area: 78.53981633974483

我嘗試使用for每個循環,while循環,將數字放入一個變量中以從中提取,我有點不知所措,不問自己要嘗試什么。 我希望 for 循環看起來像:

3
Radius: 3
Area: //... the area with radius 3...
4
Radius: 4
Area: //... the area with radius 4...
5
Radius: 5
Area: //...area with radius 5...

我將如何 go 經歷 for 循環的每次迭代並將數學方程應用於它?

您沒有發布完整的代碼,但從您的 output 可以猜到您有這樣的事情:

int radius = 0;
double area = 0.0;
for (int i = 3; i <= 5; i++)
{
    radius = i;
    area = (Math.PI * (radius * radius));
    System.out.println (radius)
}
System.out.println("Radius: " + radius);
System.out.println("Area: " + area);

這樣你的程序就會循環 i = 3, 4, 5; 對於每個 i 它計算面積並打印半徑。 只有當循環結束時,它才會打印半徑和面積 - 這正是您在 output 中看到的內容。

將 Federico 評論的代碼更改為如下所示:

int radius = 0;
double area = 0.0;
for (int i = 3; i <= 5; i++)
{
    radius = i;
    area = (Math.PI * (radius * radius));
    System.out.println("Radius: " + radius);
    System.out.println("Area: " + area);
}

然后它將遍歷相同的值,並為每個值執行計算並打印結果。

假設您使用的是 java 8,請利用它。

IntStream
    .range(3, 6)
    .forEach(radius -> {
        float area = (float) (Math.PI * (radius * radius));
        System.out.println("Radius: " + radius);
        System.out.println("Area: " + area);
    });

暫無
暫無

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

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