一道有关Java中I/O流的练习题,实现当用户输入姓名和密码时,将每一个姓名和密码加在文件中,如果用户输入done,就结束程序。

我看网上有些代码感觉不是很符合我的要求(看题目的要求),我稍微改了一下,仅供大家参考(个人意见)
源码

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好理解,就是不用这个方法)

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值