用java写一个小程序【用一个学生类:两个属性(学号和姓名)和集合的类来实现面的效果

用java写一个小程序【用一个学生类:两个属性(学号和姓名)和集合的类来实现面的效果,第1张

嗯,给你写了一个,拿去吧:import java.io.BufferedReader

import java.io.IOException

import java.io.InputStreamReader

import java.util.HashMap

import java.util.Mappublic class test {

static BufferedReader bufReader = new BufferedReader(new InputStreamReader(

System.in))

static Map<String, student>students = new HashMap<String, student>()public static void main(String argv[]) throws IOException {

System.out.println("*********学员管理系统**********\n" + "1.添加学员信息\n"

+ "2.查询学员信息\n" + "3.删除学员信息\n" + "4.显示所有学员信息\n" + "0.退出系统")

while (true) {

System.out.println("请输入系统选项(0-4):")

String cmd = bufReader.readLine()

if ("1".equals(cmd)) {

System.out.println("请输入学号:")

String id = bufReader.readLine()

System.out.println("请输入姓名:")

String name = bufReader.readLine()

students.put(id, new student(id, name))

} else if ("2".equals(cmd)) {

System.out.println("请输入要查询的学号:")

String id = bufReader.readLine()

if (students.containsKey(id)) {

System.out.println("学号:" + students.get(id).getStuid()

+ "\t姓名:" + students.get(id).getName())

} else {

System.out.println("没找到")

}

} else if ("3".equals(cmd)) {

System.out.println("请输入要删除的学号:")

String id = bufReader.readLine()

if (students.containsKey(id)) {

students.remove(id)

System.out.println("删除成功")

} else {

System.out.println("没找到,删除失败")

}

} else if ("4".equals(cmd)) {

System.out.print("[")

for (String id : students.keySet()) { System.out.print(" 学号:" + students.get(id).getStuid()

+ " , 姓名:" + students.get(id).getName()+" ")

}

System.out.println("]")

} else {

return

}

} } public static class student {

private String stuid

private String name public String getStuid() {

return stuid

} public String getName() {

return name

} public student(String id, String name) {

this.stuid = id

this.name = name

}

}}

先说一下什么是素数,素数就是所说的质数,质数是指除1和他本身外,其他的数都不能整除的数。

下面说一下代码。

这个程序的意义是输出2-50以内的所有的质数。

外循环,是2-50以内的各个数,内循环:从2开始依次判断外循环所得到的那个数是否可以被整除,因为判断是否可以被整除时,只需测试这个数的前一半就可以判断出所有的,所以只需循环到外循环数的1/2即可,j%i中的%在JAVA中是取余的意思,因此当(j%i==0)时,说明这个数被整除了,break跳出内循环,进行下一次外循环,如果当i>j/2时,说明j前一半的数都不能被整除,后面一半的也不用判断了,所以可以直接判定这个数是质数,并输出。

在这里还有一个就是 i++ 和 ++i 的区别,i++ 是先执行程序,循环内执行完后,让i+1,而++i是先让i+1,然后再执行程序。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/8118260.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-13
下一篇2023-04-13

发表评论

登录后才能评论

评论列表(0条)

    保存