public static void main(String[] args) { int num = 3; int sum = 0; while(num<6) { switch(num) { case 3: sum += num; case 4: sum *= num; break; case 5: sum = sum+num++; continue; case 6: sum = 0; } num++; } System.out.println(sum); }
时间: 2023-06-16 20:06:52 浏览: 111
这段代码的输出结果是 20。
代码中定义了一个整型变量 num 和一个整型变量 sum,初始化为 num=3 和 sum=0。接下来进入 while 循环,只要 num 小于 6,就执行循环体内的代码。在循环体内,首先使用 switch 语句判断 num 的值,当 num 等于 3 时,执行 sum += num,即 sum = 3;然后 case 4 与 case 5 都没有 break,所以会继续执行下面的代码,case 4 中执行 sum *= num,即 sum = 3*4=12;case 5 中执行 sum = sum+num++,即 sum = 12+5=17,num=6;然后执行 continue,跳过 case 6,进行下一次循环,此时 num=6,退出 while 循环。最后输出 sum 的值,即 20。
相关问题
import java.util.ArrayList; import java.util.Scanner; public class ContactManner { public static void main(String[] args) { ArrayList<Contact> array = new ArrayList(); while (true) { Contact s = new Contact(); s.Menu(); Scanner sc1 = new Scanner(System.in); int d = sc1.nextInt(); switch (d) { case 1: { addPeople(array); System.out.println("添加联系人成功"); break; } case 2: { deletePeople(array); break; } case 3: { revisePeople(array); break; } case 4: { checkPeople(array); break; } case 5: { System.out.println("退出成功,谢谢使用"); System.exit(0); break; } default: { System.out.println("错误,请重新输入"); } } } } public static void addPeople(ArrayList<Contact>array) { Scanner sc=new Scanner(System.in); System.out.println("请输入姓名"); String name=sc.nextLine(); System.out.println("请输入电话号码"); String phone=sc.nextLine(); System.out.println("请输入家庭住址"); String address=sc.nextLine(); Contact s1=new Contact(); s1.setAddress(address); s1.setName(name); s1.setPhone(phone); array.add(s1); } public static void deletePeople(ArrayList<Contact>array) { if(array.isEmpty()) { System.out.println("没有联系人信息,请先添加联系人信息再操作"); } else { Scanner sc=new Scanner(System.in); System.out.println("请输入你要删除联系人名字"); String num=sc.nextLine(); int sum=0; for(int i=0;i<array.size();i++) { Contact stu = array.get(i); if(stu.getName().equals(num)) { array.remove(i); sum++; System.out.println("删除成功"); } } if(sum==0){ System.out.println("删除失败,该联系人信息不存在"); } } } public static void revisePeople(ArrayList<Contact>array) { if(array.isEmpty()) { System.out.println("没有联系人信息,请添加后再进行操作"); } else { Scanner sc1 = new Scanner(System.in); System.out.println("请输入要修改的联系人姓名"); String name1 = sc1.nextLine(); int sum = 0; for(int j = 0;j<array.size();j++) { Contact s2 = array.get(j); if(s2.getName().equals(na分析代码
这段代码实现了一个简单的通讯录管理系统,主要包含以下几个功能:
1. 添加联系人:通过输入姓名、电话号码、家庭住址等信息,将联系人添加到通讯录中。
2. 删除联系人:通过输入联系人姓名,查找并删除该联系人的信息。
3. 修改联系人:通过输入联系人姓名,查找并修改该联系人的信息。
4. 查看联系人:列出通讯录中所有联系人的信息。
5. 退出程序:结束程序运行。
其中,通讯录中的每个联系人都是一个 Contact 对象,包含姓名、电话号码、家庭住址等属性。通讯录本身则是一个 ArrayList,存储多个 Contact 对象。
在主函数中,通过循环不断显示菜单,并根据用户选择调用相应的函数实现功能。每个函数实现相应的功能,例如 addPeople 实现添加联系人,deletePeople 实现删除联系人等。
需要注意的是,这段代码还存在一些问题,例如:
1. 每次添加联系人时都会创建一个新的 Contact 对象,但并没有必要,可以直接创建一个局部变量。
2. 删除联系人时使用了 for 循环遍历整个通讯录,如果通讯录中联系人较多,效率会比较低下,可以考虑使用 Map 存储联系人,以联系人姓名为键值,这样可以更快速地查找和删除联系人。
import java.util.ArrayList; import java.util.Scanner; public class ContactManner { public static void main(String[] args) { ArrayList<Contact> array = new ArrayList(); while (true) { Contact s = new Contact(); s.Menu(); Scanner sc1 = new Scanner(System.in); int d = sc1.nextInt(); switch (d) { case 1: { addPeople(array); System.out.println("添加联系人成功"); break; } case 2: { deletePeople(array); break; } case 3: { revisePeople(array); break; } case 4: { checkPeople(array); break; } case 5: { System.out.println("退出成功,谢谢使用"); System.exit(0); break; } default: { System.out.println("错误,请重新输入"); } } } } public static void addPeople(ArrayList<Contact>array) { Scanner sc=new Scanner(System.in); System.out.println("请输入姓名"); String name=sc.nextLine(); System.out.println("请输入电话号码"); String phone=sc.nextLine(); System.out.println("请输入家庭住址"); String address=sc.nextLine(); Contact s1=new Contact(); s1.setAddress(address); s1.setName(name); s1.setPhone(phone); array.add(s1); } public static void deletePeople(ArrayList<Contact>array) { if(array.isEmpty()) { System.out.println("没有联系人信息,请先添加联系人信息再操作"); } else { Scanner sc=new Scanner(System.in); System.out.println("请输入你要删除联系人名字"); String num=sc.nextLine(); int sum=0; for(int i=0;i<array.size();i++) { Contact stu = array.get(i); if(stu.getName().equals(num)) { array.remove(i); sum++; System.out.println("删除成功"); } } if(sum==0){ System.out.println("删除失败,该联系人信息不存在"); } } } public static void revisePeople(ArrayList<Contact>array) { if(array.isEmpty()) { System.out.println("没有联系人信息,请添加后再进行操作"); } else { Scanner sc1 = new Scanner(System.in); System.out.println("请输入要修改的联系人姓名"); String name1 = sc1.nextLine(); int sum = 0; for(int j = 0;j<array.size();j++) { Contact s2 = array.get(j); if(s2.getName().equals(na扩充代码
me1)) { System.out.println("请输入修改后的姓名"); String name2 = sc1.nextLine(); System.out.println("请输入修改后的电话号码"); String phone = sc1.nextLine(); System.out.println("请输入修改后的家庭住址"); String address = sc1.nextLine(); s2.setName(name2); s2.setPhone(phone); s2.setAddress(address); sum++; System.out.println("修改成功"); } } if(sum == 0) { System.out.println("修改失败,该联系人信息不存在"); } } } public static void checkPeople(ArrayList<Contact>array) { if(array.isEmpty()) { System.out.println("没有联系人信息,请添加后再进行操作"); } else { System.out.println("姓名\t\t电话号码\t\t家庭住址"); for(int k = 0;k<array.size();k++) { Contact s3 = array.get(k); System.out.println(s3.getName() + "\t\t" + s3.getPhone() + "\t\t" + s3.getAddress()); } } } }
这段 Java 代码的功能是什么?
阅读全文