今天上午一个朋友发了一份试卷给我做,题目如下:
功能一:任意输入一个起始号码和一个截止号码,在一个TXT文件中产生所有的号码(可连续添加)。
例:输入起始号码20000,截止号码29999,则产生从20001到29999之间的所有1万个号码。
功能二:乱序。用一个算法(方式不限),使上述连续数字的顺序完全打乱,看不出任何规律。
功能三:排列。可以把文件中的号码按两种方式排列:
1)按逗号分隔。例:20001,20002,20003
2)按回车分隔。例:
20001
20002
20003
功能一答案:
public static void printStreamDemo(){
try{
FileOutputStream out=new FileOutputStream("C:/test.txt");
PrintStream p=new PrintStream(out);
for(int i=20000;i<30000;i++)
p.print(i+",");
} catch (FileNotFoundException e){
e.printStackTrace();
}
}
功能二答案:
public static String bufferedReaderDemo() {
StringBuffer buf = new StringBuffer();
try {
FileInputStream inputtextfile=new FileInputStream("c:/test.txt");
BufferedInputStream buffer1=new BufferedInputStream(inputtextfile);
byte bufferArray[]=new byte[1024*1024];
int n=0;
while((n=buffer1.read(bufferArray))!=-1)
{
String temp=new String(bufferArray,0,n);
buf.append(temp);
}
buffer1.close();
inputtextfile.close();
}catch (IOException e){
e.printStackTrace();
}
String[] arr = buf.toString().split(",");
int i = arr.length;
List list = new ArrayList();
for(int j = 0; j < i; j++) {
list.add(arr[j]);
}
Collections.shuffle(list);
for(int k = 0; k < list.size(); k++) {
System.out.println(list.get(k));//用输出流把list.get(k)写入文件中
}
}
功能三在功能一已经实现啦!
但是我觉得功能一没按他的要求做,理应写入文本格式是2000020001......299999,在这里就要判断输入数字的位数,希望。
分享到:
相关推荐
软通面试答案,里面有我去软通面试的题目和答案供有需要帮助的朋友提供帮助 14 .关于 ArrayList 答案: ordered no sorttrd 并且是按照 index 排 15- 如何从 ArrayList 里取对象? 用 get(int index) 这个方法。
Linux常见面试答案
Jsp、Servlet面试答案 好东西看了才知道 好好学习吧
四个面试答案让经理人OFFER破万 四个面试答案让经理人OFFER破万 四个面试答案让经理人OFFER破万
java面试答案.希望对新踏入此行业的人有一定帮助。。
华为面试答案.doc
Java基础面试答案经典系列,好好准备就是成功的开始。
最新网络工程师面试答案,涵盖了各种题型和答案,是一些网络面试常碰到的问题
Linux常见面试答案.pdf
2018 Java方向如何准备BAT技术面试答案Java方向如何准备BAT技术面试答案Java方向如何准备BAT技术面试答案Java方向如何准备BAT技术面试答案Java方向如何准备BAT技术面试答案Java方向如何准备BAT技术面试答案
Hibernate面试答案,准备的充足才能胜利,向前飞!
面试答案经典汇总.docx
历年来大厂android面试答案.rar
2022吉林省公务员面试题及面试答案可用.pdf
2022吉林省公务员面试题及面试答案借鉴.pdf
J2ee基础面试答案,准备充足了才能胜利,飞吧!
阿里面试 总结 问题及答案
10万字总结java面试题和答案(八股文之二)
SQLServer2008 常用面试题目 以及答案
2021最新大厂AI面试题:107题(含答案及解析).pdf