如何使用星号与文件中的现有数据制作图表?
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();
我的作业分为两部分,但我在完成第二部分时遇到了问题。
作业的第一部分是询问用户 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();