我看网上有些代码感觉不是很符合我的要求(看题目的要求),我稍微改了一下,仅供大家参考(个人意见)
源码
package Test;
import java.io.*;
import javax.swing.*;
public class Fifteen {
static int linelength=81;//定义录入的数量和名字与电话好的长度
public static void main(String[] args) {
byte name[]=new byte[linelength];
byte phone[]=new byte[linelength];
try {
FileOutputStream fos=new FileOutputStream("jun.txt");
while(true){
System.out.println("请输入你的名字:");
readline(name);
if("done".equalsIgnoreCase(new String(name).trim())){
System.out.println("录入完毕");
break;
}
System.out.println("请输入电话号码:");
readline(phone);
for (int j = 0; name[j] != 0; j++) {
fos.write(name[j]);
}
for (int i = 0; phone[i] != 0; i++) {
fos.write(phone[i]);
}
fos.write('\n');
System.out.println("信息录入完毕");
}
fos.close();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
static void readline (byte []xin) throws IOException{
int b=0,i=0;
while((i<linelength-1)&&(b=System.in.read())!='\n'){
xin[i++]=(byte) b;
}
xin[i]=(byte)0;//清空后面要用的数组避免会出现不可预料的事情
}
}
我自己的问题:他写的这个输入方式我不太认可为什么只是写了一个方法也没有返回值,为什么直接就可以放到name和phone数组中了哪位大佬看见了求教,谢谢。(我还是觉得用Scnner好理解,就是不用这个方法)