A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© yibuhuiba 中级黑马   /  2016-11-26 15:54  /  1010 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

2.根据以下要求实现相关功能(16分)
a.在项目根目录手动建立文件:user.txt;
内容如下(用户名-密码):
zs-123
Ls-345
ww-asd
b.定义Test类,并定义main()方法;
c.项目启动,列出如下菜单:         1.查看用户         2.注册         3.退出d.要求完成如下功能:    1.查看用户:将user.txt中所有的用户名打印到控制台上    2. 注   册:提示用户输入用户名和登录密码;                验证用户名跟user.txt中已注册的用户名是否重复:              是:提示“用户名已存在”。              否:写入文件,提示“注册成功”(格式:用户名 -密码)。       
3.退     出:结束程序

1 个回复

倒序浏览
本帖最后由 zhou_m_j 于 2016-11-27 16:59 编辑

[Java] 纯文本查看 复制代码
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.OutputStreamWriter;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

public class Test {
        
        static Scanner in =new Scanner(System.in);
        static String fileName = new String("H:\\user.txt");
        
        public static void menu(){
                //菜单
                System.out.println("\n1.查看用户");
                System.out.println("2.注册");
                System.out.println("3.退出");
                System.out.print("请输入1-3之间的数:");
                
        }
        
        public static void getInfo(List<String> user){
                //从文件中读取用户
                FileReader fr = null;
                BufferedReader br = null;
                try {                
                        fr = new FileReader(fileName);
                        br = new BufferedReader(fr);
                        while(true){
                                String tmpStr = br.readLine();
                                if(null == tmpStr){
                                        //判断是否读到文件末尾
                                        break;
                                }
                                user.add(tmpStr);
                        }
                } catch (Exception e) {
                        e.printStackTrace();
                } finally{
                        //关闭文件流
                        try {
                                if(fr!=null)
                                        fr.close();
                                if(br!=null)
                                        br.close();
                        } catch (Exception e) {
                                e.printStackTrace();
                        }
                }
                
        }
        
        public static void printToConsolo(List<String> user){
                //查看用户模块
                for(String str:user){
                        //分割用户名和密码,只输出用户名
                         String []str1 = str.split("-");
                         System.out.println(str1[0]);
                }
        }
        
        public static void register(List<String> user){
                //注册模块
                while(true){
                        System.out.print("请输入用户名:");
                        Scanner in =new Scanner(System.in);
                        String userName = in.nextLine();
                        boolean flag = true;
                        for(String str:user){
                                //查询是否重名
                                String []str1 = str.split("-");//分割用户名和密码
                                if(str1[0].equals(userName)){
                                        flag = false;
                                        break;
                                }
                        }
                        if(flag){
                                //不重名
                                System.out.print("请输入密码:");
                                String userPassword = in.nextLine();
                                //把新用户放入到user列表中
                                user.add(userName+"-"+userPassword);
                                BufferedWriter out = null;
                                try {
                                        //新用户写入文件
                                        out = new BufferedWriter(new OutputStreamWriter(
                                                        new FileOutputStream(fileName,true)));
                                        out.write(user.get(user.size()-1)+"\r\n");        //注意换行位置
                                } catch (Exception e) {
                                        e.printStackTrace();
                                }finally{
                                        try {
                                                //关闭文件流
                                                if(out!=null)
                                                        out.close();
                                        } catch (Exception e) {
                                                e.printStackTrace();
                                        }
                                }
                                System.out.println("注册成功");
                                break;
                        }
                        else
                                //重名
                                System.out.println("用户名已存在!");
                }
        }
        
        public static void main(String[] args) {
                
                List<String> user = new ArrayList<String>();
                getInfo(user);
                while(true){
                        menu();
                        int num = in.nextInt();
                        if(num>3||num<1)
                                //输入数据是否合法
                                continue;
                        else if(num != 3){
                                if(num == 1){
                                        //输入1,打印
                                        printToConsolo(user);
                                }
                                else{
                                        //输入2,注册
                                        register(user);
                                }
                        }
                        else 
                                //输入3
                                return;
                }
                
        }

}


仅供参考,有问题可以继续问
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马