操作软件 IntelliJ IDEA
要求,用最简单的代码,最简介的语法
1.创建a.txt文件,文件内容为用户名=密码的形式,例如:Tom=123
Jack=456
2.完成如下功能:
(1)控制台显示登陆提示,输入用户名密码,如a.txt中有,则登陆成功,否则显示登陆失败,并按情况提示用户不存在或者密码错误
(2)登陆成功后,能查看所有用户的用户名和密码信息
(3)登陆成功后,能添加新的用户名和密码,注意用户名不可重复
最简单的代码,最简洁的语法
代码参考如下:
public class Login {
private static Map<String, String> map;
private static Scanner sc = new Scanner(System.in);
public static void main(String[] args) {
initData();
login();
while (true) {
menu();
int o = sc.nextInt();
switch (o) {
case 1:
selectAll();
break;
case 2:
add();
break;
default:
System.out.println("请输入有效的选项~~");
break;
}
}
}
public static void initData() {
map = new HashMap<>();
read();
}
public static void login() {
while (true) {
System.out.println("请输入用户名:");
String username = sc.nextLine();
System.out.println("请输入密码:");
String password = sc.nextLine();
if (map.keySet().contains(username)) {
if (password.equals(map.get(username))) {
break;
}
System.out.println("登陆失败:密码错误");
continue;
}
System.out.println("登陆失败:用户不存在");
}
System.out.println("登录成功!");
}
public static void menu() {
System.out.println("===== 欢迎进入主页 =====");
System.out.println("===== 查所有用户:1 =====");
System.out.println("===== 添加新用户:2 =====");
System.out.println("===== 请选择操作选项 =====");
}
public static void selectAll() {
System.out.println("===== 所有用户信息 =====");
for (String key : map.keySet()) {
System.out.println(key + "=" + map.get(key));
}
}
public static void add() {
System.out.println("===== 添加新的用户 =====");
sc.nextLine();
while (true) {
System.out.println("请输入新用户名:");
String username = sc.nextLine();
if (map.keySet().contains(username)) {
System.out.println("已存在");
continue;
}
System.out.println("请输入密码:");
String password = sc.nextLine();
map.put(username, password);
write(username, password);
break;
}
System.out.println("添加成功!");
}
public static void read() {
File file = new File("src/main/resources/a.txt");
if (!file.exists()) {
System.out.println("file is not exists.");
return;
}
try (
Reader reader = new FileReader("src/main/resources/a.txt");
BufferedReader br = new BufferedReader(reader);
) {
String line;
while ((line = br.readLine()) != null) {
String[] strs = line.split("=");
map.put(strs[0], strs[1]);
}
} catch (IOException e) {
e.printStackTrace();
}
}
public static void write(String key, String value) {
File file = new File("src/main/resources/a.txt");
if (!file.exists()) {
System.out.println("file is not exists.");
try {
file.createNewFile();
System.out.println("file create success.");
} catch (IOException e) {
e.printStackTrace();
}
return;
}
try (
Writer writer = new FileWriter("src/main/resources/a.txt", true);
BufferedWriter bw = new BufferedWriter(writer);
) {
bw.write(key + "=" + value);
bw.newLine();
} catch (IOException e) {
e.printStackTrace();
}
}
}
你这题目是直接把作业扔给别人去做呀
package com.ma.demoes.test;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.nio.file.Files;
import java.util.*;
/**
* @Auther RenHuiMa
* @Date 2022-07-04 8:24
**/
public class UserDemo {
public static void main(String[] args) throws IOException {
/*txt 文件位置 先存放几条数据最少1条*/
String filePathName = "H:\\a.txt";
File file = new File(filePathName);
List<String> ss = Files.readAllLines(file.toPath());
Map users = new HashMap();
for(String s : ss){
users.put(s.split("=")[0],s.split("=")[1]);
}
Scanner scanner = new Scanner(System.in);
Boolean flag = true;
while(flag){
System.out.println("请输入用户名:");
String username = scanner.nextLine();
if(!users.containsKey(username)){
System.out.println("登陆失败,用户不存在!");
}else{
System.out.println("请输入密码:");
String pwd = scanner.nextLine();
if(!pwd.equals(users.get(username))){
System.out.println("登陆失败,密码错误!");
}else{
flag = false;
}
}
}
while(!flag){
System.out.println("登录成功!输入菜单序号进行操作!");
System.out.println("1.查看用户密码");
System.out.println("2.增加用户密码");
String menuNum = scanner.nextLine();
if(Integer.valueOf(menuNum) != 1 || Integer.valueOf(menuNum) != 2){
System.out.println("请输入正确的菜单序号!(1或者2)");
}
if(Integer.valueOf(menuNum) == 1){
Iterator<Map.Entry<String, String>> entries = users.entrySet().iterator();
while (entries.hasNext()) {
Map.Entry<String, String> entry = entries.next();
System.out.println("用户名:" + entry.getKey() + " 密码:" + entry.getValue());
}
}
if(Integer.valueOf(menuNum) == 2){
System.out.println("请输入用户名:");
String username = scanner.nextLine();
if(users.containsKey(username)){
System.out.println("用户已存在!");
}else{
System.out.println("请输入密码:");
String pwd = scanner.nextLine();
String line = System.getProperty("line.separator");
StringBuffer str = new StringBuffer();
FileWriter fw = new FileWriter(filePathName, true);
str.append("\n" + username+"="+pwd);
fw.write(str.toString());
fw.close();
}
}
}
}
}