为什么要用到continue 还有那个while(true)表示什么意思啊 不太懂

来源:5-3 学生选课---删除 Map 中的学生

有梦想丶的咸鱼

2017-05-31 15:28

import java.util.HashMap;

import java.util.Map;

import java.util.Map.Entry;

import java.util.Scanner;

import java.util.Set;


public class MapTest {

 //用来承装学生类对象

public Map<String,Student>students;

//在构造器中初始化students属性

public MapTest(){

this.students=new HashMap<String,Student>();

}

//测试添加:输入学生ID判断是否被占用

//若未被占用,则输入姓名,创建学生对象,并且添加到students中

public void testPut(){

Scanner console=new Scanner(System.in);

int i=0;

while(i<3){

System.out.println("请输入学生ID:");

String ID=console.next();

//判断是ID是否内被占用

Student st=students.get(ID);

if(st==null){

//提示输入学生姓名

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

String name=console.next();

//0创建学生对象

Student newStudent=new Student(ID,name);

students.put(ID, newStudent);

System.out.println("成功添加学生:"+students.get(ID).name);

i++;

}else{

System.out.println("该ID已经被占用");

 

}

}

}

/*

* *测试Map的keySet方法

*/

public void testKeySet(){

//通过KeySet方法,但会Map中的所有“键”的set集合

Set<String> KeySet=students.keySet();

//取得students的容量

System.out.println("总用有:"+students.size()+"个学生");

//通过遍历keySet,取得每一个键,在调用get方法的每个键对应的value值

for (String stuID:KeySet){

Student st=students.get(stuID);

if(st!=null){

System.out.println("学生:"+st.name);

}

}

}

//删除Map中的映射

public void testRemove(){

Scanner console=new Scanner(System.in);

while(true){

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

String ID=console.next();

Student st=students.get(ID);

if(st==null){

System.out.println("输入的学生ID不存在");

continue;

}

students.remove(ID);

System.out.println("成功删除学生ID");

break;

}

}

//通过entrySet方法来遍历Map

public void testEntrySet(){

Set<Entry<String ,Student>> EntrySet=students.entrySet();

for (Entry<String, Student> entry : EntrySet) {

System.out.println("取得键:"+entry.getKey());

System.out.println("取得键值:"+entry.getValue().name);

}

}


public static void main(String[] args) {

// TODO Auto-generated method stub


MapTest mt=new MapTest();

mt.testPut();

mt.testKeySet();

mt.testRemove();

mt.testEntrySet();

}


}


写回答 关注

1回答

  • 朝如青丝暮成雪_
    2017-05-31 17:40:02
    已采纳

    while(true)是死循环,  continue就是结束这次循环进行下次循环

    有梦想丶的咸...

    非常感谢!感谢了同学。。嘿嘿

    2017-05-31 20:46:56

    共 1 条回复 >

Java入门第三季

Java中你必须懂得常用技能,不容错过的精彩,快来加入吧

409768 学习 · 4463 问题

查看课程

相似问题