1

我对java很陌生,这是作业。任何方向将不胜感激。任务是读取一个外部文本文件,然后解析该文件以生成一个新文件。外部文件如下所示:

2             //number of lines in the file
3,+,4,*,2,-.   
5,*,2,T,1,+

我必须阅读此文件并生成一个输出,该输出采用前面的 int 值并打印以下字符(跳过逗号)。所以输出看起来像这样:

+++****--
*****TT+

我尝试使用两种方法设置我的代码。第一个读取外部文件(作为参数传递),只要有下一行,就会调用第二个方法 processLine 来解析该行。这就是我迷路的地方。我不知道应该如何构造这个方法,所以它读取行并将标记值解释为整数或字符,然后根据这些值执行代码。我只能使用我们在课堂上介绍的内容,所以没有外部库,只有基础知识。

public static void numToImageRep(File input, File output) //rcv file
    throws FileNotFoundException {  
        Scanner read = new Scanner(input);
        while(read.hasNextLine()){ //read file line by line
        String data = read.nextLine();
        processLine(data); //pass line for processing
        }
    }
public static void processLine(String text){  //incomplete, all falls apart here.
    Scanner process = new Scanner(text);
    while(process.hasNext()){
        if(process.hasNextInt()){
            int multi = process.nextInt();
            }
        if(process.hasNext()==','){



    }   
}
4

1 回答 1

0

这个方法可以是一个简单的例子,可以完成这项工作:

public static String processLine(String text){
    String result = "";
    String[] splitted = text.split(",");
    int remaining = 0;
    for(int i=0;i<splitted.length;i+=2)
    {
        remaining = (Integer.parseInt(splitted[i]));
        while( remaining-- >0)
            result += splitted[i+1];
    }
        return result;
}
于 2013-06-01T16:30:27.093 回答