1-100 的一个数,直到生成了 97 这个数,看看你一共用了几次?
提示使用 (int)(Math.random() * 100) + 1Math.random() 范围是 [ 0 , 1) ,乘上 100 就是 [ 0 , 100 ),前面加上 int 就是 double --> int ,强转会造成精度缺失,所以范围变成了 [ 0 , 99 ] ,加上 1 就是 [ 1 , 100 ]

double m = 99.9;
int n = (int)m;
System.out.println(n);
10个[ 1 , 100 ] 的随机数方法 for (int i = 1; i <= 10; i++ ){
System.out.println((int)(Math.random() * 100) + 1);
}
break ,当某个条件满足时,终止循环
通过该需求可以说明其它流程控制的必要性,比如 breakswitch 或者循环[for , while , do-while]中{ ……
break;
……
}
Break01.java

for (int i = 1; i <= 10; i++ ){
if(i == 3){
break;
}
System.out.println("i="+i);
}
System.out.println("退出for循环,继续执行后面的代码...");

abc1:
for (int j = 0; j < 4; j++){ //外层for
abc2:
for (int i = 0; i < 10; i++){ //内层for
if (i == 2){
break; // 等价于 break abc2
}
System.out.println("i="+i );
}
}
break 改为 break abc1,当执行 内层for循环中 i 自增到 i == 2 时,就会跳出 外层 for 循环结束程序。 abc1:
for (int j = 0; j < 4; j++){ //外层for
abc2:
for (int i = 0; i < 10; i++){ //内层for
if (i == 2){
break abc1;
}
System.out.println("i="+i );
}
}
BreakExercise01.java
1-100 以内的数求和,求出 当和 第一次大于 20 的当前数 【for + break】 int sum = 0; //累积和
//注意i 的作用范围在 for{}
int n = 0;
for(int i = 1; i <= 100; i++) {
sum += i;//累积
if(sum > 20) {
System.out.println("和>20时候 当前数i=" + i);
n = i;
break;
}
}
int sum = 0;
int i = 1
for (; i <= 100; i++){
sum += i;
if (sum > 20){
break;
}
}
System.out.println("和>20时候 当前数i=" + i);
3. (一般采用的方式) 也可以在for循环外部,定义变量 n , 把当前 i 赋给 n,也同样扩大了 i 变量的范围,在其他地方可以输出
int sum = 0; //累积和
//注意i 的作用范围在 for{}
int n = 0;
for(int i = 1; i <= 100; i++) {
sum += i;//累积
if(sum > 20) {
System.out.println("和>20时候 当前数i=" + i);
n = i;
break;
}
}
System.out.println("当前数=" + n);
3 次机会,如果用户名为"兮动人" ,密码"666"提示登录成功,否则提示还有几次机会,请使用【 for+break】完成BreakExercise02.java
Scanner对象接收用户输入
2. 定义 String name ; String passwd; 保存用户名和密码
3. 最多循环3次[登录3次],如果 满足条件就提前退出
4. 定义一般变量 int chance 记录还有几次登录机会 Scanner myScanner = new Scanner(System.in);
String name = "";
String passwd = "";
int chance = 3; //登录一次 ,就减少一次
for( int i = 1; i <= 3; i++) {//3次登录机会
System.out.println("请输入名字");
name = myScanner.next();
System.out.println("请输入密码");
passwd = myScanner.next();
//比较输入的名字和密码是否正确
//补充说明字符串 的内容 比较 使用的 方法 equals
if("兮动人".equals(name) && "666".equals(passwd)) {
System.out.println("恭喜你,登录成功~");
break;
}
//登录的机会就减少一次
chance--;
System.out.println("你还有" + chance + "次登录机会");
}