阵列? args数组?

时间:2013-03-18 21:43:23

标签: java arrays string args

我正在开发一个addressBook程序,它读取csv文件并打印联系人,包括姓氏,名字,地址,城市,州,邮编和电话号码。我已经获得了一段代码,我已经完成了这部分代码的工作。

到目前为止,我已阅读该文件并将内容写入newFile。但是,有一部分代码我不完全确定它的作用。因为我是编程新手,所以我不想只是简单地编写代码,我想知道发生了什么。 我很困惑的部分就在主要声明之后  (主要开始于String [] lname,fname,street .....)

之后的前9行

请,任何帮助将不胜感激。

public class Main 
{
public static void main (String [] args) throws FileNotFoundException
{
    String [] lName, fName, street, city, state, zip, phone;

    lName = new String[20];
    fName = new String[20];
    street = new String[50];
    city = new String[20];
    state = new String[20];
    zip = new String[12];

    System.out.println("ADDRESS BOOK CONTENTS: ");

    Scanner inFile;

    try 
    {
        inFile = new Scanner (new File("src/addresses.csv"));
        String temp;

        while (inFile.hasNextLine())
        {
            temp = inFile.nextLine();
            System.out.println("Contact:    " + temp);              
        }   

        System.out.println(inFile);


    }

        catch (FileNotFoundException e) 
        {
            //catch block
            e.printStackTrace();
        }
    try
    {
    FileInputStream fileIn = new FileInputStream("src/addresses.csv");
    FileOutputStream fileOut = new FileOutputStream("src/newfile.csv");

    int c;
    while ((c = fileIn.read()) != -1)
    {
        fileOut.write(c);
    }

    fileIn.close();
    fileOut.close();
    }

     catch (FileNotFoundException exception1) 
      {
         System.err.println("FileCopy: " + exception1);
      } 
      catch (IOException exception1) 
      {
         System.err.println("FileCopy: " + exception1);
      }

}
}

2 个答案:

答案 0 :(得分:1)

这只是声明了String[]类型的一些变量,它是一个字符串数组。

以下几行为这些变量分配了一个新的array初始容量。

此语法首先声明变量并在之后赋值,但您也可以在一个语句中执行声明和赋值,如下所示:

String[] lName = new String[20];

这两种语法是等价的。

答案 1 :(得分:1)

代码的那些部分是数组创建语句。

lName = new String[20];

表示创建一个包含20个元素的新字符串数组,并将其分配给变量lName

只是为了给你提供更多的数组示例:

lName[4] = "john";

表示将字符串值“john”赋值给数组的第5个(非第4个)元素

String name = lName[0];

表示检索数组的第一个元素并将其分配给名为name

的变量