-2

静态方法 main,它接收一个字符串数组。该数组应该有两个元素:文件所在的路径(在索引 0 处),以及要处理的文件的名称(在索引 1 处)。例如,如果名称为“Walmart”,则程序应使用“Walmart.cmd”(从中​​读取命令)和“Walmart.pro”(从中读取/写入产品)。

我不希望任何人为我编写代码,因为这是我需要学习的东西。但是,我一直在阅读此内容,并且措辞令人困惑。如果有人可以通过伪代码或算法帮助我理解我想要什么,我将不胜感激。

4

3 回答 3

0

所以让我们向你解释

  • 创建一个类 Inventory :如果你不知道如何创建一个类,谷歌就可以了
  • 静态方法 main:java 中的每个可执行类(至少来自控制台)都有 main 方法,你应该用谷歌搜索 java main 方法,并且可以在你找到它的同一个地方看到它接收到的默认参数
  • 当您了解方法的默认参数时,main您将了解必须在其上的“参数”
  • 您将不必学习该课程Stringgoogle it "java String class"
  • 你将不得不研究类File谷歌它“java文件类”

    最后,其他一切都只是逻辑,我相信您在这一点上已经学到了一些东西。

  • 于 2013-10-28T23:01:46.660 回答
    0
    public class Inventory { // class inventory
    
    public static void main(String[] args) // main method
    {
    
    if(args.length==2){ // check if args contains two elements
    String filePath = args[0];
    String fileName = args[1];
    
    filePath+= System.getProperty("file.separator")+fileName; 
    
    File fileCMD = new File(filePath+".cmd");
    //fileCMD.createNewFile(); 
    File filePRO =new File(filePath+".pro");
    //filePRO.createNewFile();
    
    
    }
    
    else {
    
    //write the code to print the message Usage: java Inventory Incorrect number of parameters for a while and exit the program.
    }
    
    }
    

    这是我理解的。基本上,您必须编写一个程序来创建两个文件,一个名为 fileName.cmd,另一个名为 fileName.pro。您必须使用参数(main 方法的输入参数)和系统的文件分隔符来构造文件的路径。如果参数没有两个元素,则必须打印“无效”消息。就是这样。

    我感到困惑的是如何初始化 arg[0] 和 arg[1] 以及它们被初始化的确切内容。

    您必须使用命令行来传递参数并启动程序,类似于 cmd 或终端中的以下代码:

    java inventory thePath theFileName
    

    这就是它被初始化的方式。

    于 2013-10-28T23:28:18.067 回答
    0

    我感到困惑的是如何初始化 arg[0] 和 arg[1] 以及它们被初始化的确切内容。

    main 方法的String数组输入参数由您在运行程序时传递给程序的 main 方法的任何 String 参数组成。例如,这是一个简单的程序,它循环args并打印一条漂亮的消息,每个参数的索引和值在单独的行上:

    package com.example;
    
    public class MainExample {
        public static void main(String[] args) {
            for (int i = 0; i < args.length; i++) {
                System.out.printf("args[%d]=%s\n", i, args[i]);
            }
        }
    }
    

    编译程序后,您可以在命令行上运行它并传递一些参数:

    java -cp . com.example.MainExample eh? be sea 1 2 3 "multiple words"
    

    输出:

    args[0]=eh?
    args[1]=be
    args[2]=sea
    args[3]=1
    args[4]=2
    args[5]=3
    args[6]=multiple words
    
    于 2013-11-01T22:43:33.493 回答