【发布时间】:2011-03-04 23:33:29
【问题描述】:
条形图
编写一个 Java 程序,从一个名为 sales.txt 的现有文本文件中读取五家商店今天的销售数据(整数)并输出到一个名为 storeReport.txt 的新文件中
程序应该显示一个条形图来比较每家商店的销售额。通过显示一行星号在条形图中创建每个条形。每个星号应代表 100 美元的销售额。
以下是要从 sales.txt 中读取的整数:
1000
1200
1800
800
1900
输出文件 (storeReport.txt) 应如下所示:
Store 1: **********
Store 2: ************
Store 3: ******************
Store 4: ********
Store 5: *******************
请记住,我只在第 5 章:循环和文件简介,Java 简介。答案必须非常简单。我们还没有在我的文本中得到以下内容,所以请不要使用它们:int[ ]、bufferedWriter、fstream、.length、out.print .....等
因此,我必须使用最简单的代码,例如:
Scanner inputFile = new Scanner (file)
File inputFile = new File (sales.text)
PrintWriter outputFile = new PrintWriter (storeReport.txt)
我们可以使用 for 循环、while 循环和嵌套循环。
以下是我迄今为止编写的代码。我收到编译错误。请帮忙!!谢谢!
import java.util.Scanner;
import java.io.*;
public class BarChart
{
public static void main(String[] args) throws IOException
{
int store1,store2,store3,store4,store5;
int bar1,bar2,bar3,bar4,bar5;
Scanner inputFile = new Scanner(System.in);
File inputFile = new File("sales.txt");
File outputFile = new File("storeReport.txt");
PrintWriter outputFile = new PrintWriter("storeReport.txt");
outputFile.println("SALES BAR CHART\n");
bar1 = store1/100;
outputFile.println("store 1 : ");
for(int i = 1; i <= bar1; i++)
outputFile.println("*");
bar2 = store2/100;
outputFile.println("\nStore 2 : ");
for(int i = 1; i <= bar2; i++)
outputFile.println("*");
bar3 = store3/100;
outputFile.println("\nStore 3 : ");
for(int i = 1; i <= bar3; i++)
outputFile.println("*");
bar4 = store4/100;
outputFile.println("\nStore 4 : ");
for(int i = 1; i <= bar4; i++)
outputFile.println("*");
bar5 = store5/100;
outputFile.println("\nStore 5 : ");
for(int i = 1; i <= bar5; i++)
outputFile.println("*");
inputFile.close();
outputFile.close();
System.out.println("Data written to the storeReport.txt");
System.exit(0);
}
}
【问题讨论】:
-
我建议编辑您的问题以包含编译错误。
标签: java