java中在txt中存放数据,每行数据的形式是“学号,姓名”,要求根据学号输出相应的姓名
2个回答
展开全部
BufferedReader br = new BufferedReader(
new InputStreamReader(
new FileInputStream(new File("XXX.txt"))));
Map<String,String> student = new HashMap<String,String>();
String str=;
while((str=br.readerLine())!=null){
String strs = str.split(",");
student.put(strs[0],strs[1]);
}
br.close();
Scanner s = new Scanner(System.in);
String num = s.nextLine();
System.out.println(studetn.get(num));
纯手打,可能有拼写错误,用eclipse修改吧
new InputStreamReader(
new FileInputStream(new File("XXX.txt"))));
Map<String,String> student = new HashMap<String,String>();
String str=;
while((str=br.readerLine())!=null){
String strs = str.split(",");
student.put(strs[0],strs[1]);
}
br.close();
Scanner s = new Scanner(System.in);
String num = s.nextLine();
System.out.println(studetn.get(num));
纯手打,可能有拼写错误,用eclipse修改吧
追问
如果数据形式是学号!课程号:分数;课程号:分数;...
怎样才能先通过学号得到课程号或者分数
追答
那你就得定义一个实体,比如Cource,里面有两个属性private int cource_id;private String cource_score;分别定义这两个实体的getter,setter方法,然后把map定义成这样Map> map = new HashMap>();这样你就可以存储和查询一个学生的多科成绩
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
import java.io.*;
import java.util.*;
public class ReadTxt
{
public static void main(String[] args) throws IOException
{
BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(new File("XXX.txt"))));
HashMap<String,String> student = new HashMap<String,String>();
String str="";
while((str=br.readLine())!=null)
{
String[] strs = str.split(",");
student.put(strs[0],strs[1]);
}
br.close();
Scanner s = new Scanner(System.in);
System.out.println("输入学号,输出姓名,输入学号为0时退出程序");
while (true)
{
System.out.print("请输入学号");
String num = s.nextLine();
if(num.equals("0"))break;
System.out.println(student.get(num));
}
}
}
追问
如果数据形式是1250002;计算与软件工程2;线性代数;数据结构与算法;变态心理学;
如何在输入学号之后返回所有课程名
追答
将上面的循环改一下即可,str[0]仍存学号,str[1]存所有课程
import java.util.*;
import java.io.*;
public class ReadTxt
{
public static void main(String[] args) throws IOException
{
BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(new File("XXX.txt"))));
HashMap<String,String> student = new HashMap<String,String>();
String str="";
while((str=br.readLine())!=null)
{
int index=str.indexOf(";");
student.put(str.substring(0,index+1),str.substrings(index+1));
}
br.close();
Scanner s = new Scanner(System.in);
System.out.println("输入学号,输出姓名,输入学号为0时退出程序");
while (true)
{
System.out.print("请输入学号");
String num = s.nextLine();
if(num.equals("0"))break;
System.out.println(student.get(num));
}
}
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |