package demo; import java.util.HashMap; import java.util.Scanner; public class exercise333 { private static Scanner scanner; /** * 学生信息集合 */ private static HashMap<String,Student> map; public static void main(String[] args) { // TODO Auto-generated method stub select(); } private static void select() { System.out.println("请输入学号:"); Scanner sc = new Scanner(System.in); String nub = sc.nextLine(); Student student = map.get(nub); if(Student = null) System.out.println("没有查询到该学生!"); else System.out.println(student.toString()); } } static class Student{ private String sno; /** * 学号 */ private String name; /** * 姓名 */ private String major; /** * 专业 */ private String score; /** * 成绩 */ public String toString() { return "学生信息{"+ "学号='" + sno + '\'' + "姓名='" + name + '\'' + "专业='" + major + '\'' + "成绩='" + score + '\'' + '}'; } public String getSno() { return sno; } public void setSno(String sno) { this.sno = sno; } public String getName() { return name ; } public void setName(String name) { this.name = name; } public String getMajor() { return major; } public void setMajor(String major) { this.major = major; } public String getScore() { return score; } public void setScore(String score) { this.score =score; } public Student(String sno,String name,String major,String score) { this.sno = sno; this.name = name; this.major = major; this.score = score; } }
时间: 2023-05-24 14:05:37 浏览: 72
There is a syntax error in line 29 of the code. The conditional statement should have parenthesis around it.
Change:
if(Student = null)
To:
if(student == null)
相关问题
package Expert import java.util.*;和package import java.util.*;的区别
这两个语句的区别在于导入的包的范围不同。
首先,`import java.util.*;` 导入了 `java.util` 包中的所有类和接口,包括 `ArrayList`、`HashMap`、`Scanner` 等等。当您需要使用该包中的任何类或接口时,您可以直接使用类名,而无需使用完全限定的类名。
其次,`package Expert import java.util.*;` 语句是一个 Java 源文件中的 package 声明和导入声明。它指定了当前 Java 源文件的包名和要导入的包。在这种情况下,它告诉编译器当前 Java 源文件属于 `Expert` 包,并且要导入 `java.util` 包中的所有类和接口。
因此,它们的作用是不同的。`import java.util.*;` 语句只是导入了一个包,而 `package Expert import java.util.*;` 语句同时指定了当前 Java 源文件的包名和要导入的包。
分析这段代码package demo; import java.util.HashMap; import java.util.Scanner; public class exercise333 { private static Scanner scanner; /** 学生信息集合 */ private static HashMap<String, Student> map = new HashMap<String, Student>(); public static void main(String[] args) { // TODO Auto-generated method stub select(); } private static void select() { System.out.println("请输入学号:"); Scanner sc = new Scanner(System.in); String nub = sc.nextLine(); try { Student student = map.get(nub); if (student == null) System.out.println("没有查询到该学生!"); else System.out.println(student.toString()); } catch (Exception e) { System.out.println("输入有误!"); } finally { sc.close(); } } } class Student { private String sno; /** 学号 */ private String name; /** 姓名 */ private String major; /** 专业 */ private int score; /** 成绩 */ public String toString() { return "学生信息{" + "学号='" + sno + '\'' + ", 姓名='" + name + '\'' + ", 专业='" + major + '\'' + ", 成绩='" + score + '\'' + '}'; } public String getSno() { return sno; } public void setSno(String sno) { this.sno = sno; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getMajor() { return major; } public void setMajor(String major) { this.major = major; } public int getScore() { return score; } public void setScore(int score) { this.score = score; } public Student(String sno, String name, String major, int score) { this.sno = sno; this.name = name; this.major = major; this.score = score; } }
这段代码定义了一个名为exercise333的类,其中包含了一个静态的HashMap对象map,存储了学号与对应的Student对象。main方法仅仅是调用了select方法。select方法中先读取从控制台输入的学号,然后通过map.get方法获取对应的Student对象,若不存在,则输出"没有查询到该学生!",否则调用Student的toString方法输出学生信息。由于可能存在异常,所以使用try-catch-finally语句块处理异常并关闭Scanner。
Student类定义了对象的基本属性及相关的getter、setter方法,同时还有一个构造方法用于创建Student对象。其中toString方法返回了该对象的字符串表示形式,也即学生信息的全部内容。
阅读全文