我正在开发一个类项目,我必须创建一个 Java 类来显示数字的星号。
例如,5 就是 *****。
现在我知道网上有很多这样的文件,但我们的需要 2 个文件。实际的循环是在主 Java 文件中完成的,但 main 方法是在 Java 测试文件中。
public class BarChart {
private int numberOfStars;
public BarChart(int numberOfStars) {
this.numberOfStars = numberOfStars;
}
public void displayBar() {
for(int counter = 1; counter < numberOfStars; counter++); {
{
System.out.print("*");
}
System.out.println(); //display a new line at the end of all stars
}
}
}
测试类
import java.util.Scanner;
public class BarChartTester {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
//loop 5 times asking for number
System.out.print("Eenter a number:");
int numberOfStars = input.nextInt();
BarChart barChart = new BarChart(numberOfStars);
barChart.displayBar();
}
}
我的想法是,循环将运行,每次增加计数器,直到计数器等于星星的数量,但它永远不会打印超过 1 颗星星。
对于这个作业,我只能使用 for 循环和 System.out.print。
已更新。
最佳答案
问题出在你的构造函数中:
this.numberOfStars = numberOfStars = 0;
这始终将 numberOfStars 设置为 0
此外,你的循环应该是 < numberOfStars 而不是 <= numberOfStars,否则你会得到比预期多的一颗。
更新:
for(int counter = 1; counter < numberOfStars; counter++); {
应该是
for(int counter = 0; counter < numberOfStars; counter++) {
关于java - 星号代表带有单独测试仪的数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48998993/