我在制作静态方法方面不是很有经验......我想要一些练习,但我遇到了一些问题.我正在尝试制作一个输入数字的程序,它会打印出小于b的所有正方形.例如,如果你输入100,它会返回0,1,4,9,16,25,36,49,64,81.但是我收到了错误.
- 当我尝试做Squares.getSquares(100)时,方法getSquares(int)未定义Square类型; ...我猜这是因为我的第一个问题.请帮助我,我知道静态方法很重要,但我不知道如何制作它们.
package Testers;
import java.util.Scanner;
public class Squares
{
public static void main(String[] args)
{
Squares.getSquares(100);
public static double getSquares(double b)
{
double sqrtNum=Math.sqrt(b);
int i=0;
while(i<sqrtNum)
{
sqrtNum=Math.pow(i,2);
System.out.print(sqrtNum+" ");
i++;
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
你不能在方法中声明一个方法 - 格式化你的代码,它更清楚.例:
package Testers;
import java.util.Scanner;
public class Squares {
public static void main(String[] args) {
Squares.getSquares(100);
}
public static double getSquares(double b) {
double sqrtNum = Math.sqrt(b);
int i = 0;
while(i < sqrtNum) {
sqrtNum = Math.pow(i, 2);
System.out.print(sqrtNum + " ");
i++;
}
}
}
Run Code Online (Sandbox Code Playgroud)
此外,没有返回值getSquares()- 看起来你打算这样做void.最后,这个while循环:
int i = 0;
while(i < sqrtNum) {
// code
i++;
}
Run Code Online (Sandbox Code Playgroud)
可以简化为这个for循环:
for (int i = 0; i < sqrtNum; i++) {
// code
}
Run Code Online (Sandbox Code Playgroud)
如果你想让它成为Squares类的方法,你的静态方法不应该在main()中.它应该是正方形而不是主正面,例如:
public class Squares
{
public static void main(..) {...}
public static double getSquares(...) {...}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
119 次 |
| 最近记录: |