站内搜索: 请输入搜索关键词

当前页面: 开发资料首页J2SE 专题输入文件的问题

输入文件的问题

摘要: 输入文件的问题


import java.io.*;
public class x {
public static void main(String[] args) {
try{
BufferedReader in = new BufferedReader(
new InputStreamReader(System.in));
int[] arr = new int[3];
String dir = "c:";

System.out.println("1");
System.out.println("2");

String x = in.readLine();
int m = Integer.parseInt(x);

switch(m)
{
case 1:
for(int i = 0;i < arr.length;i++)
{

System.out.println("Input:");
String y = in.readLine();
int a = Integer.parseInt(y);
arr[i] = a;
}
break;
case 2:
System.out.println("输入:");
String Num = in.readLine();
int num = Integer.parseInt(Num);
if(arr[0] == num)
System.out.println("该数已存在");
else
System.out.println("该数不存在");
break;
}
File aFile = new File(dir,"a.txt");
DataOutputStream myStream = new DataOutputStream(
new FileOutputStream(aFile));
for(int i = 0;i < arr.length;i++)
myStream.writeChars(arr[i] + "");
}
catch(IOException e){}
}
}
我每次选择1,输入数组到文件之后,再选择2查询刚输入的数字的时候,刚刚保存到文件中的数字就全变成0了,请问大家这是怎么回事??


我没看到你从文件读数据到这个数组中啊——int[] arr = new int[3];
另外,你这个程序界面太不好了,输入1是什么意思,输入2是什么意思都不写出来。


我没有从文件读数组,只是想比较当选择2时输入的数字跟文件中的数字进行比较;这里选择1就是输入到文件,选择2就是再输入一个数字和文件中的数字进行比较。


你都没读文件,请问,你怎么跟文件里的数据比较?
如果输入1,就会循环输入3个数存入数组,然后保存到文件,退出程序
如果要输入2,就必须重新运行一次程序,这时候内存里已经没有你刚才输入的数据了,arr[0]只能是默认值0。
所以,如果你一开始输入2的话,只有输入0才会提示已经存在,其它的数都提示不存在的。
你自己在脑袋里运行一下这个程序,想想它的执行过程吧。


↑返回目录
前一篇: 1, 一个java对象的地址如何获取?2,该地址与该对象的hashCode()返回值有什么联系?
后一篇: 求助:javax.comm.*