java算法与编程面试题(一)

2019-03-05 12:48|来源: 网友

编写一个程序,将a.txt文件中的单词与b.txt文件中的单词交替合并到c.txt文件中,a.txt文件中的单词用回车符分隔,b.txt文件中用回车或空格进行分隔。

package cn.itcast;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
public class MainClass{
    public static void main(String[] args) throws Exception{
        FileManager a=new FileManager("a.txt",new char[]{'\n'});
        FileManager b=new FileManager("b.txt",new char[]{'\n',' '});      
        FileWriter c = new FileWriter("c.txt");
        String aWord = null;
        String bWord = null;
        while((aWord = a.nextWord()) !=null ){
            c.write(aWord + "\n");
            bWord = b.nextWord();
            if(bWord != null)
                c.write(bWord + "\n");
        }
        while((bWord = b.nextWord()) != null){
            c.write(bWord + "\n");
        }   
        c.close();
    }
}
  
class FileManager{
    String[] words = null;
    int pos = 0;
      public FileManager(String filename,char[] seperators) 
            throws Exception{
        File f = new File(filename);
        FileReader reader = new FileReader(f);
        char[] buf = new char[(int)f.length()];
        int len = reader.read(buf);
        String results = new String(buf,0,len);
        String regex = null;
        if(seperators.length >1 ){
            regex = "" + seperators[0] + "|" + seperators[1];
        }else{
            regex = "" + seperators[0];
        }
        words = results.split(regex);
    }
    public String nextWord(){
        if(pos == words.length)
            return null;
        return words[pos++];
    }
}


本文链接:领悟书生教程网-面试题大全,转载请注明出处

相关问答

更多
  • java基础面试题[2022-04-05]

      1.抽象:   抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面。抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不用部分细节。抽象包括两个方面,一是过程抽象,二是数据抽象。   2.继承:   继承是一种联结类的层次模型,并且允许和鼓励类的重用,它提供了一种明确表述共性的方法。对象的一个新类可以从现有的类中派生,这个过程称为类继承。新类继 承了原始类的特性,新类称为原始类的派生类(子类),而原始类称为新类的基类(父类)。派生类可以从它的基类那里继承方法和实例变 ...
  • 哎 我应聘了N家公司 给你一些题好了 华为的 第一部分:选择题   QUESTION NO: 1   1、public class Test {   public static void changeStr(String str){   str="welcome";   }   public static void main(String[] args) {   String str="1234";   changeStr(str);   System.out.println(str);   }   }   ...
  • Java面试题[2022-05-31]

    1、面向对象的特征有哪些方面 1.抽象: 抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面。抽象并不打 算了解全部问题,而只是选择其中的一部分,暂时不用部分细节。抽象包括两个方面,一是过程抽象,二是数 据抽象。 2.继承: 继承是一种联结类的层次模型,并且允许和鼓励类的重用,它提供了一种明确表述共性的方法。对象的一个新 类可以从现有的类中派生,这个过程称为类继承。新类继承了原始类的特性,新类称为原始类的派生类(子类 ),而原始类称为新类的基类(父类)。派生类可以从它的基类 ...
  • java基础面试题[2023-10-31]

    1.抽象: 抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面。抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不用部分细节。抽象包括两个方面,一是过程抽象,二是数据抽象。 2.继承: 继承是一种联结类的层次模型,并且允许和鼓励类的重用,它提供了一种明确表述共性的方法。对象的一个新类可以从现有的类中派生,这个过程称为类继承。新类继 承了原始类的特性,新类称为原始类的派生类(子类),而原始类称为新类的基类(父类)。派生类可以从它的基类那里继承方法和实例变量,并且类可以修 ...
  • ?不把问题贴出来,肚子里的萨姆大叔才回答你的问题呢。。。
  • java基础,面向对象,线程,流,jdbc,集合,网络编程,异常,常用的数据结构。 javascript:(函数,对象,操作页面元素。) jsp:(内置对象,标准动作,javabean servlet 自定义标签) struts2:(mvc设计模式,分层软件设计模式) 要考的基本上就这些,还有好多都是逻辑题。我是java的爱好者 我QQ是88986735 有时间一起讨论讨论呀?
  • 基于AXIS的web service: 1 比如要建一个Server.java类的web service public class Server { public String printInfo(String name){ return "Hello,"+name; } } 2 把Server.java改为Server.Jws放到 …\Tomcat 5.5\webapps\axis中,重启服务器 3 访问 4 在cmd中输入 cd D:\Program Files\Apache Software Foun ...
  • 我有一部分!
  • 觉得范围太大,没有特别经典的题。如果看知识广度,需要了解1)servlet规范及常见servlet-based的server,如tomcat, jetty..2)主流框架的使用及原理,如表示层的struts/struts2,管理服务对象生命周期的spring,持久层的hibernate/jpa..然后看情况选其一深入研究实践即是。
  • 会啦 ,面试题一般是笔试题,你知道多少就最好写多少,更重要的是面试,就是你和面试官谈话的时候,所以你只要会讲,反应快点就ok啦。我也是刚出来没多久的,呵呵,面试了十多次了