我正试图完成一个项目,但我没有运气。这是一门在线课程,所以我唯一的交流方式是通过电子邮件。在过去的五天里,他还没有回复我的四封邮件。
对于这个作业,我们必须从包含特定公司纳斯达克股票价格信息的csv文件中下载。我选择了谷歌(google)。下面是代码部分的需求。
创建第二个文件ReadFiles.java。这个文件将从csv文件中读取数据。注意:您需要使用数据文件的较小版本(20行)进行测试。你的ReadFiles.java类需要以下方法:
方法:检查文件是否存在
方法:查找csv文件中的行数
方法:将csv文件转换为多维数组
方法:PrintArray方法:使用get方法返回数组
创建一个文件DataAnalyzer.java。该文件将用于调用ReadFiles.java中的方法。请确保演示您的所有方法都通过DataAnalyzer.java工作。
这是我目前所掌握的。
package Analysis;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.io.Reader;
import java.util.StringTokenizer;
import java.util.Scanner;
public class ReadFiles
{
public static int numberOfRows;
public static int rowNumber = 0;
public static int columnNumber = 0;
public static void main(String[] args)
{
Scanner kb = new Scanner (System.in);
String fileName;
System.out.print("Enter the file name >> ");
fileName = kb.nextLine();
File f = new File("D:\Java\Assignment 3\" + fileName);
if(f.exists())
{
System.out.print("File exists.");
}
fileName="D:\Java\Assignment 3\" + fileName;
try
{
BufferedReader br = new BufferedReader(new FileReader(fileName));
StringTokenizer st = null;
while((fileName = br.readLine()) != null)
{
rowNumber++;
numberOfRows++;
st = new StringTokenizer(fileName, ",");
while(st.hasMoreTokens())
{
columnNumber++;
System.out.println("Row " + rowNumber +
", Column " + columnNumber
+ ", Entry : "+ st.nextToken());
}
columnNumber = 0;
}
}
catch (FileNotFoundException e)
{
e.printStackTrace();
}
catch (IOException e)
{
e.printStackTrace();
}
}
public static void rows()
{
System.out.println("Total Rows: " + numberOfRows);
}
}
给我们的那本课用的书没有任何帮助。所有的"例子"one_answers"你做它"部分都有错误。此外,在整个章节中,这个赋值是基于数组的,没有一次提到数组。
当我运行这个代码时,我没有得到任何错误。我看到了以下内容:
File exists.
Row 1, Column 1, Entry : 30/12/2011
Row 1, Column 2, Entry : 642.02
Row 1, Column 3, Entry : 646.76
Row 1, Column 4, Entry : 642.02
Row 1, Column 5, Entry : 645.9
Row 1, Column 6, Entry : 1782300
Row 1, Column 7, Entry : 645.9
Row 2, Column 1, Entry : 29/12/2011
Row 2, Column 2, Entry : 641.49
显示从第1行到第19行(整个文件)。
我不明白的是如何在这个类中创建单独的方法来转换为数组,打印数组,并返回数组。
任何帮助都将非常感激。
谢谢
您需要定义2个类,DataAnalyzer和ReadFiles。通常每个类有一个文件,尽管这不是必需的。ReadFiles的结构已经提供,因此您将拥有一个名为ReadFiles.java的文件,如下所示:
public class ReadFiles{
//instance var(s)
...
//constructor(s)
...
//methods(s)
/**
* Checks whether the file exists
*/
public boolean exists(){
....
}
/*
* Number of rows in the file
*/
public int getRowCount(){
....
}
// add the rest your self!!
}
}
您还需要一个名为DataAnalyzer.java的文件:
public class DataAnalyzer{
public static void main(String args){
//create ReadFiles and call it's methods and check they return what is expected
}
}
假设ReadFile管理一个输入文件;它可能需要一个类变量来保存这些信息。DataAnalyzer需要告诉ReadFiles要分析哪个文件(构造函数似乎是一个不错的选择)。
我的建议是创建您的骨架结构(您已经被告知它是什么),并开始构建每个方法的功能一次一个。