题目:给出一个整数数组,将其写入一个文件,再从文件中读出,并按整数大小逆序打印。
这道面试题是我看了好多面试题后自己编的,希望能对将要面试的人有点帮助。
对于我这个新手来说,觉得这个题目考察的基础东西还是比较多的:
1.对文件的写入和读出方面的考察
2.对不同形的数组转换方面的考察
3.对string基本用法的考察(split,substring)
4.类型转换的考察
5.对算法的考察(排序)
ps:我写的这个题目肯定有其他更好的方法,我这个就算是一个笨方法了,由于我编程功力还不深厚,而且写下面的这些代码借助了myEclipse这样先进的IDE工具,还时不时的上baidu ,google搜索一下,但在笔试的时候全屏记忆在纸上写,这样难度可想而知。看来基础真的很重要
package com.xyq.demo;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
/**
*
* @author xyq
*
* 作用:一道面试题
*/
public class T1 {
/**
* 把数组写入文件中
* @throws IOException
*/
void writefile() throws IOException {
String str = "";
FileOutputStream fos = new FileOutputStream("Result.txt");
OutputStreamWriter osw = new OutputStreamWriter(fos);
BufferedWriter bw = new BufferedWriter(osw);
int[] intArr = new int[] { 10, -101,2, 5, 3, 4, 6 };
//注意在这里输入到文件中的是字符串类型String而不是数组类型
for (int i = 0; i < intArr.length; i++) {
str += intArr[i] + ",";
}
str = str.substring(0, str.length()-1);
bw.write(str);
bw.close();
}
/**
* 把数组从文件中读出来,并排序
* @throws IOException
*/
void readfile() throws IOException {
String str = "";
String str1 = "";
FileInputStream fis = new FileInputStream("Result.txt");
InputStreamReader isr = new InputStreamReader(fis);
BufferedReader br = new BufferedReader(isr);
//从文件中读出字符串String类型
str = br.readLine();
//把字符串转换成数组类型,再进行排序
String[] strArr = str.split(",");
//把String数组转换成int数组
int[] intArr=new int[strArr.length];
for(int i=0;i<strArr.length;i++){
intArr[i]=Integer.parseInt(strArr[i]);
}
sort(intArr);
for (int i = 0; i < intArr.length; i++) {
str1 += intArr[i]+",";
}
str1 = str1.substring(0, str1.length()-1);
System.out.print(str1);
br.close();
}
/**
* 冒泡排序算法
* @param data
*/
public static void sort(int[] data) {
int temp;
for (int i = 0; i < data.length; i++) {
for (int j = data.length - 1; j > i; j--) {
if (data[i] < data[j]) {
temp = data[i];
data[i] = data[j];
data[j] = temp;
}
}
}
}
/**
* main方法
* @param args
* @throws IOException
*/
public static void main(String[] args) throws IOException {
new T1().writefile();
new T1().readfile();
}
}
运行结果:
在Result.txt中为:10,-101,2,5,3,4,6
控制台打印为:10,6,5,4,3,2,-101
写完了,希望有更好方法或觉得我代码的不合理的朋友能指点一二,我最近要去面试,呵呵
分享到:
相关推荐
01 java面试——北京-百度-Java中级.pdf 02 java面试——北京-京东-Java中级.pdf 03 java面试——广州-唯品会-Java大数据开发工程师.pdf 04 java面试——杭州-阿里云-Java中级.pdf 05 java面试——杭州-蚂蚁金服-...
java面试——Nginx面试专题.zip
java面试——深圳-OPPO-Java高级.zip
java面试——深圳-银盛支付-Java中级.zip
java面试——广州-唯品会-Java大数据开发工程师.zip
最全面的java面试题——选择题部分
java面试——厦门-中软国际-Java中级.zip
java面试真题——江苏骏环昇旺科技.jpgjava面试真题——江苏骏环昇旺科技.jpgjava面试真题——江苏骏环昇旺科技.jpgjava面试真题——江苏骏环昇旺科技.jpgjava面试真题——江苏骏环昇旺科技.jpgjava面试真题——江苏...
Java全能学习面试手册——Java面试题库.zip 01 7道消息队列ActiveMQ面试题!.pdf 02 10道Java高级必备的Netty面试题!.pdf 03 10道Java面试必备的设计模式面试题!.pdf 04 10个Java经典的List面试题!.pdf 05 10个...
面试题包含了不同技术层面的面试问题,同时也能对一些没有面试开发经验的小白给予不可估量的包装, 让你的薪水绝对翻倍, 本人亲试有效.Java面试题84集、java面试专属及面试必问课程,所有的面试题有视屏讲解, 解答方案....
Java面试题——先留着,以后用得着 用最有效率的方法算出2乘以8等於几? 答案:2 << 3
这是java程序员面试题的总结,非常经典,来自于河南省863软件孵化器有限公司。对于有一定技术,面试却总是失败的朋友很有帮助。
Java面试题和答案Java面试题和答案Java面试题和答案Java面试题和答案Java面试题和答案Java面试题和答案Java面试题和答案
此文档中有java面试题中常考到的数据结构的知识,面试必备。
JAVA面试题——多线程
Java面试题必备——Java基础知识部分汇总,面试者必备的哦
2021Java大厂面试题——大厂真题之拼多多-Java高级.pdf
JavaOOP面试题 Java集合/泛型面试题 Java异常面试题 Java中的IO与NIO面试题 Java反射面试题 Java序列化面试题 Java注解面试题 多线程&并发面试题 JVM面试题 Mysql面试题 Redis面试题 Memcached面试题 MongoDB面试题 ...
2021Java大厂面试题——大厂真题之蚂蚁金服-Java高级.pdf
2024春招面试真题——鑫合易家java初级试卷1-题目.docx2024春招面试真题——鑫合易家java初级试卷1-题目.docx2024春招面试真题——鑫合易家java初级试卷1-题目.docx2024春招面试真题——鑫合易家java初级试卷1-题目....