如何使用星号与文件中的现有数据制作图表?

How to use asterisks to make a graph with existing data in a file?

我的作业分为两部分,但我在完成第二部分时遇到了问题。

作业的第一部分是询问用户 4 周的每周预算,该信息将保存到名为 budget.txt 的文件中。如果你需要看,我可以复制粘贴代码给你。

输出如下所示:

Week 1 Budget: 230.99  
Week 2 Budget: 800.00  
Week 3 Budget: 125.00  
Week 4 Budget: 1245.18

作业的第二部分(我遇到问题的部分)是读取用户输入的数据并根据信息制作星号图。每个星号应该代表 100 美元。我正在处理的第二个程序的输出应该是这样的(根据上面示例中的信息):

Week 1 Budget: **  
Week 2 Budget: ********  
Week 3 Budget: *  
Week 4 Budget: ************  

如何建立每个星号代表 $100 的连接并使其正确输出?这是我当前的代码:

public static void main(String[] args) throws FileNotFoundException
{
    float budget;

    File file = new File("budget.txt");
    if (!file.exists())
    {
        System.out.println("The file budget.txt is not found.");
        System.exit(0);
    }

    Scanner inputFile = new Scanner(file);

    while (inputFile.hasNext())
    {
        //Read a value from the file.
        budget = inputFile.nextFloat();

        for(int c=0; c <= 3; c++)
        {
            System.out.print("\nBudget for week " + (c +1) + ":");

            for(int k=0; k<=budget/100; k++) 
            {
                System.out.print("*");
            }
        }
        System.out.println();

        inputFile.close();
    }
}

内部 for 循环的目的是什么? for(int c=0; c <= 3; c++)

您不需要使用 for 循环来打印这些星号,您可以简单地使用 String.format

int week = 1;
        while (inputFile.hasNext()) {
            // Read a value from the file.
            budget = inputFile.nextFloat();

            System.out.print("\nBudget for week " + week++ + ":");
            System.out.println(String.format("%" + (budget / 100) + "s", "").replaceAll(" ", "*"));

        }
int c = 1;
while (inputFile.hasNext())
{
    budget = inputFile.nextFloat();
    System.out.print("\nBudget for week " + c + ":");

        for(int k=1; k<budget/100; k++) 
        {
            System.out.print("*");
        }
    }
    c++;
    System.out.println();
}
inputFile.close();