正在回答 回答被采纳积分+1
2回答
好帮手慕小琪
2020-05-07 10:18:01
同学你好,
这里的这里的n=-1是不是就是初始化,等于多少都是无所谓的
这个同学理解的是对的,这里只是做了一个初始化。第一个的do while 条件 为什么是n!=0;
do while语句执行的顺序是无论是否符合条件都会先执行一次do中的代码,再判断是否满足while中的条件。由代码可知,点击run执行代码后,直接进入最外层do循环中的语句,逐条执行语句,当执行到第二个do循环,会提示“是否继续观看(1/0)”,如果从键盘输入0,因为不满足n != 1 && n != 0的条件,所以会跳出内部的do while循环,接着判断外层的while条件,因为输入的是0,不满足n != 0的条件,也会跳出循环。所以第一个的do while 条件是n!=0的原因是控制程序退出的语句。
如果我的回答解决了你的疑惑,请采纳!祝学习愉快~
苍星乱舞
2020-04-02 22:30:55
import java.util.InputMismatchException;
import java.util.Scanner;
import pers.stephen.members.*;
public class Manage {
public static void main(String[] args) {
IAct actor = null;
Scanner s = new Scanner(System.in);
int n = -1;// 控制是否继续观看
int input = 0;// 选择表演者
do {
System.out.println("********欢迎来到太阳马戏团********");
System.out.println("********** 请选择表演者**********");
System.out.println("********** 1丶棕熊 **********");
System.out.println("********** 2丶狮子 **********");
System.out.println("********** 3丶猴子 **********");
System.out.println("********** 4丶鹦鹉 **********");
System.out.println("********** 5丶小丑 **********");
try {
input = s.nextInt();
} catch (InputMismatchException e) {
// 输入非数字提示用户
System.out.println("** 输入非数字,请重新输入 **");
s.next();
continue;
}
// 输入不存在表演者提示用户
if (input < 1 || input > 5) {
System.out.println("** 输入演员不存在,请重新输入 **");
continue;
}
// 对相应的表演者进行演示
switch (input) {
case 1:
actor = new Bear("Bill", 1);
break;
case 2:
actor = new Lion("Lain", 2, "灰色", "公狮");
break;
case 3:
actor = new Monkey("Tom", 1, "金丝猴");
break;
case 4:
actor = new Parrot("Rose", 1, "牡丹鹦鹉");
break;
case 5:
actor = new Clown("Kahle", 5);
break;
}
if (actor != null) {
actor.act();
}
do {
System.out.println("****** 是否继续观看(1/0) ******");
try {
n = s.nextInt();
} catch (InputMismatchException e) {
// 输入非数字提示用户
System.out.println("** 输入非数字,请重新输入 **");
s.next();
continue;
}
// 如果输入的非0或1提示用户
if (n != 1 && n != 0) {
System.out.println("** 输入信息不正确,请重新输入 **");
}
} while (n != 1 && n != 0);
} while (n != 0);
}
}
1. Java 零基础入门
- 参与学习 人
- 提交作业 3802 份
- 解答问题 11489 个
本阶段带你迈入Java世界,学习Java必备基础知识,基础语法、面向对象思想以及常用工具类的使用。
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星