gpt4 book ai didi

java - 更具表现力的代码

转载 作者:行者123 更新时间:2023-12-01 16:49:14 24 4
gpt4 key购买 nike

是否有更智能的方法来编写此代码,避免在 WHILE 和 IF 中重复条件(答案<200)?

 public class HelloWorld
{
public static void main(String[] args)
{
perfectSquareBetweenFifteenAndTwoHundred();
}
}

void perfectSquareBetweenFifteenAndTwoHundred(){

int i=1;
int answer=0;

while(answer<200)
{
answer = i*i;

if(answer>15 && answer<200)
{
System.out.println(i*i);
}

i++;
}
}
}

谢谢。

最佳答案

将其编写为具有适当边界的 for 循环(从 4 开始,因为 4*4=16 > 153*3=9 < 15 ;在 14 处结束,因为 14*14=196 < 20015*15=225 > 200 :

for (int i = 4; i <= 14; ++i) {
System.out.println(i*i);
}

如果您想让数字 4 和 14 相对于 15 和 200 的界限不那么“神奇”,您可以这样编写循环:

for (int i = (int) Math.ceil(Math.sqrt(15)), squared;
(squared = i * i) < 200; ++i) {
System.out.println(squared);
}

关于java - 更具表现力的代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43836986/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com