开云app官网登录入口手机版
网

当前位置: 开云app官网登录入口手机版> 硕博资讯> 面试宝典>

Java程序员面试宝典:输入/输出流

时间:2011-08-06 14:46 作者: 开云app官网登录入口手机版网址://www.garmin-asus.com

面试例题1:假设任何异常处理已经被创建,下列哪个选项是创建RandomAccessFile类实例的正确选项?( )

  A.RandomAccessFile raf=new RandomAccessFile("myfile. txt","rw");

  B.RandomAccessFile raf=new RandomAccessFile( new Data InputStr-eam());

  C.RandomAccessFile raf=new RandomAccessFile("myfile. txt");

  D.RandomAccessFile raf=new RandomAccessFile(new File ("myfile.txt"));

  解析:在Java的I/O结构中,RandomAccessFile是比较不寻常的类,它直接继承于Object,它并不属于Streams结构的一部分。

  答案:A

 面试例题2:需要读一个比较大的文本文件,这个文件里有很多字节的数据,那么下列最合适读这类文件的选项是哪个?( )

  A.new FileInputStream("file.name");

  B.new InputStreamReader(new FileInputStream("file.name"));

  C.new BufferedReader(new InputStreamReader(new FileInputStream("file.name")));

  D.new RandomAccessFile raf=new RandomAccessFile("myfile.txt","+rw");

  解析:这道题最主要的是具有很多字节数的文本文件,那么就要考虑到BufferedReader。

  答案:C

面试例题3:请给出一段代码描述字符串写入文件。

  答案:代码如下。

以下是代码片段:
  import java.io.*;
  public class Test
  {
  public static void main(String args[])
  {
  try
  {
  FileOutputStream out = new FileOutputStream
  ("FileName.txt");
  out.write("字符串写入文件".getBytes());
  out.close();
  }
  catch (IOException ioe)
  {
  }
  }//main
  }

面试例题4:写一个Java应用程序,从键盘输入两个整数,然后输出它们的平方值及立方值。

  解析:在Java中没有像C语言那样有一个专供接受从键盘输入值的scanf函数,所以一般的做法是从键盘输入一行字符,保存到字符串s中,再将字符组成的字符串s转换为整型数据后返回。

  答案:代码如下。

以下是代码片段:
  //package cuboid;
  import java.io.*;
  class InputData { //定义从键盘输入数据的类
  static private String s = "";
  static public void input() { //从键盘输入一行字符,保存到字符串s中
  BufferedReader bu = new BufferedReader(
  new InputStreamReader(System.in)
  );
  try {
  s = bu.readLine();
  }
  catch (IOException e) {} //捕获输入/输出异常
  }
  static public int getInt() { //静态方法可直接用类名调用
  input();
  return Integer.parseInt(s); //将字符组成的字符串s转换为整型数据后返回
  }
  }
  class Result {
  void print(int d) {
  System.out.println(d + "的平方:" + d * d);
  System.out.println(d + "的立方:" + d * d * d);
  }
  }
  public class PrintResult {
  public static void main(String[] args) {
  Result result = new Result();
  System.out.println("请输入一个整数:");
  int a = InputData.getInt();
  result.print(a);
  }
  }

面试例题5:8、64、256都是2的阶次方数(例如,8是2的3次方),用Java编写程序来判断一个整数是不是2的阶次方数,并说明哪个方法更好。

  解析:如果一个数是2的阶次方数,那么它的二进制数的首位一般是1,后面接若干个0。比如8就是1000,64是1000000。如果将这个数减1后,再与该数做和(&)运算,则应该全为0(例如,8与7,一个二进制数是1000,一个二进制数是111,它们做和运算后全为0)。所以((d-1)&(d)) == 0。

  答案:代码如下。

以下是代码片段:
  //package cuboid;
  import java.io.*;
  class InputData { //定义从键盘输入数据的类
  static private String s = "";
  static public void input() { //从键盘输入一行字符,保存到字符串s中
  BufferedReader bu = new BufferedReader(
  new InputStreamReader(System.in)
  );
  try {
  s = bu.readLine();
  }
  catch (IOException e) {} //捕获输入/输出异常
  }
  static public int getInt() { //静态方法可直接用类名调用
  input();
  return Integer.parseInt(s); //将字符组成的字符串s转换为整型数据后返回
  }
  }
  class Result {
  void print(int d) {
  if(((d-1)&(d)) == 0 && (d!=0))
  System.out.println("是2的阶次");
  else
  System.out.println("不是2的阶次");
  }
  }
  public class PrintResult {
  public static void main(String[] args) {
  Result result = new Result();
  System.out.println("请输入一个整数:");
  int a = InputData.getInt();
  result.print(a);
  }
  }


开云app官网登录入口手机版//www.garmin-asus.com -硕博人才招聘门户网站!本文链接: //www.garmin-asus.com/news/msbd/201108/06172.html

更多资讯!欢迎扫描下方二维码关注开云app官网登录入口手机版 官方微信(微信号:shuobozaixian)。

提示:如招聘单位在招聘过程中向求职者提出收取押金、保证金、体检费、材料费、成本费,或指定医院体检等,求职者有权要求招聘单位出具物价部门批准的收费许可证明材料,若无法提供相关证明,请求职者提高警惕,有可能属于诈骗或违规行为。
分享到:
Baidu
map