DW(E(49UPTBNGKI(H@(3[K1.png (243.67 KB, 下载次数: 24)
运行图
package myexam.test4;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.util.HashMap;
import java.util.Map.Entry;
/*
*
* 在控制台输入3个学生(姓名,学号)姓名可以重复但是学号是唯一的,将输入的
* 这3个学生存放到集合里然后在控制台打印出来并且修改其中任意一个学号对应的
* 学生姓名并将被修改的学生信息以及修改后的学生信息存放到D:\\a.txt中并且
* 以追加的方式。
格式如下: 修改前:姓名-学号
修改后:姓名-学号
*/
public class Test4 {
public static void main(String[] args) throws IOException {
getStudentsMess();
//getReStudentMes(hm);
}
public static HashMap<String,String> getReStudentMes(HashMap<String,String> hm) throws IOException {
System.out.println("请输入修改学生的学号");
BufferedReader bufr=new BufferedReader(new InputStreamReader(System.in));
String key=bufr.readLine();
System.out.println("请输入一个新的学生姓名");
//BufferedReader bufr1=new BufferedReader(new InputStreamReader(System.in));
String value=bufr.readLine();
hm.put(key,value);
return hm;
}
public static void getStudentsMess() throws IOException {
System.out.println("输入3个学生(格式:姓名,学号)");
//创建一个键盘录入对象
BufferedReader bufr=new BufferedReader(new InputStreamReader(System.in));
//创建一个HashMap集合,用于存储学生(Sring name,int num)
HashMap<String,String> hm=new HashMap<>();
//键盘录入(这里不限定要录入3个学生)
//将键盘录入的数据添加到HashMap中
String line=null;
while(( line=bufr.readLine())!=null){
if("over".equals(line))
break;
String[] arr=line.split(",");
hm.put(arr[1], arr[0]);
}
//创建一个获取修改前学生的方法
//创建一个可以持续录入的写入流对象
PrintWriter pw=new PrintWriter(new BufferedWriter(new FileWriter("D:\\a.txt")));
//遍历Map集合,学生信息打印出来,写入到D:\\a.txt文件中
for (Entry<String,String> en: hm.entrySet()) {
//String value=hm.get(key);
System.out.println("修改前:"+en.getValue()+"-"+en.getKey());
pw.println("修改前:"+en.getValue()+"-"+en.getKey());
pw.flush();
}
System.out.println("操作成功");
HashMap<String,String> hm2=getReStudentMes(hm);
for(String key:hm2.keySet()){
System.out.println("修改后:"+hm2.get(key)+"-"+key);
pw.println("修改后:"+hm2.get(key)+"-"+key);
//pw.flush();
}
//关流
pw.close();
}
}
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) | 黑马程序员IT技术论坛 X3.2 |