java数据结构使用哈希表创建一个学生信息 (学号、专业、名字、成绩),当输入学号时,要求查找到该学生所有信息。
时间: 2023-05-22 11:06:50 浏览: 70
可以使用java的HashMap来创建一个学号与学生信息的映射,代码示例如下:
```
HashMap<String, HashMap<String, String>> studentMap = new HashMap<String, HashMap<String, String>>();
// 添加学生信息
HashMap<String, String> studentInfo = new HashMap<String, String>();
studentInfo.put("major", "Computer Science");
studentInfo.put("name", "John");
studentInfo.put("score", "80");
studentMap.put("1001", studentInfo);
// 查找学生信息
String studentId = "1001";
HashMap<String, String> result = studentMap.get(studentId);
if (result != null) {
System.out.println(result.get("name"));
System.out.println(result.get("major"));
System.out.println(result.get("score"));
}
```
相关问题
java数据结构使用哈希表创建一个学生信息 (学号、专业、名字、成绩),当输入学号时,要求查找到该学生所有信息。
好的,以下是使用Java哈希表创建学生信息的示例代码:
import java.util.HashMap;
public class Student {
private int ID;
private String major;
private String name;
private double score;
public Student(int id, String major, String name, double score) {
this.ID = id;
this.major = major;
this.name = name;
this.score = score;
}
public int getID() {
return ID;
}
public String getMajor() {
return major;
}
public String getName() {
return name;
}
public double getScore() {
return score;
}
public static void main(String[] args) {
HashMap<Integer, Student> studentMap = new HashMap<>();
Student s1 = new Student(1001, "Computer Science", "Tom", 89.5);
Student s2 = new Student(1002, "Mathematics", "Jerry", 92.0);
Student s3 = new Student(1003, "Physics", "Alice", 85.0);
studentMap.put(s1.getID(), s1);
studentMap.put(s2.getID(), s2);
studentMap.put(s3.getID(), s3);
int searchID = 1002;
if (studentMap.containsKey(searchID)) {
Student searchStudent = studentMap.get(searchID);
System.out.println("ID: " + searchStudent.getID() + ", Major: " + searchStudent.getMajor() + ", Name: " + searchStudent.getName() + ", Score: " + searchStudent.getScore());
} else {
System.out.println("The student with ID " + searchID + " is not found!");
}
}
}
当输入学号时,程序会查找哈希表中是否包含该学号的学生信息,如果存在则输出学生的所有信息,否则提示未找到该学生。
根据学号查找节点java 写一个方法
在Java中,根据学号查找节点通常涉及到数据结构的使用,比如链表、树或哈希表等。这里以链表为例,我们可以定义一个节点类(StudentNode),其中包含学号和其他信息。然后编写一个方法(findStudentByNumber),通过遍历链表来查找具有特定学号的节点。
首先定义学生节点类:
```java
public class StudentNode {
private String studentNumber; // 学号
private String name; // 姓名或其他信息
private StudentNode next; // 指向下一个节点的引用
// 构造方法、getter和setter省略
}
```
然后编写查找方法:
```java
public class StudentList {
private StudentNode head; // 链表的头节点
public StudentNode findStudentByNumber(String studentNumber) {
StudentNode current = head;
while (current != null) {
if (current.getStudentNumber().equals(studentNumber)) {
return current; // 找到学号对应的节点,返回节点引用
}
current = current.getNext(); // 移动到下一个节点
}
return null; // 如果没有找到,返回null
}
}
```
这个`findStudentByNumber`方法接受一个学号作为参数,然后遍历链表直到找到一个节点的学号与参数匹配,返回该节点。如果没有找到匹配的节点,则返回null。
阅读全文