java中while循环的使用--练习
程序员文章站
2024-03-23 21:32:22
...
1. while使用
-问题:打印出20个3的倍数
package mode2;
public class Mode6 {
public static void main(String[] args) {
//计数器
//累加和
int i;
int sum = 0;
while (i<20){
sum += 3 * (i + 1);
i++;
}
}
}
2. break的使用方法
-问题:打印出3的倍数,如果这个数是7的倍数则结束程序。
package mode2;
public class Mode6 {
public static void main(String[] args) {
//打印出1-100以内7或者3的倍数
int i = 1;
while(i<=100) {
if(i%3==0) {
if(i%7==0) {
System.out.println("碰到了7和3的公倍数:"+i+"程序结束");
break;
}
System.out.println(i);
}
i++;
}
}
}
3. continue的使用方法
-问题:打印出0-100,不包括7或者3的倍数
package mode2;
public class Mode6 {
public static void main(String[] args) {
//打印出1-100以内7或者3的倍数
int i = 0;
while(i<100) {
i++;
if(i%3==0||i%7==0) {
continue;
}
else {
System.out.println(i);
}
}
}
}
while(i<=100) {
if (!(i%3==0||i%3==0)) {
System.out.println(i);
}
i++;
}
4. 循环嵌套打印乘法口诀
package mode2;
public class Mode7 {
public static void main(String[] args) {
int i = 1;
while(i<=9) {
int j = 1;
while(j<=i) {
System.out.print(j+"*"+i+"="+(j*i)+" ");
j++;
}
System.out.println();
i++;
}
}
}
5. 怎样结束多重循环
package mode2;
public class Mode7 {
public static void main(String[] args) {
int i = 1;
w1:while(i<=9) {
int j = 1;
while(j<=i) {
System.out.print(j+"*"+i+"="+(j*i)+" ");
j++;
break w1;
}
System.out.println();
i++;
}
}
}
循环和判断的大括号可以省略,在大括号中只有一行代码时可以省略。
6. 作业
- 1.使用循环编写一个猜数游戏,程序随机生成一个一定范围内的整数(自定义),通过控制台输入猜想数字,控制台打印出比较结果,直到猜测正确
package mode2;
import java.util.Scanner;
public class Mode8 {
public static void main(String[] args) {
System.out.println("系统已随机生成一个整数0-100之间的整数,请猜一下吧");
int a = (int)(Math.random()*100);
System.out.println(a);
int b;
Scanner scan = new Scanner(System.in);
while (true) {
b = 0;
System.out.println("告诉我你感觉他是多大吧:");
b = scan.nextInt();
if(a<b) {
System.out.println("哎呀,你输入的"+b+"有点大啊");
continue;
}
else if(a>b) {
System.out.println("咦,你输入的"+b+"有点小啊");
System.out.println("再来猜一下吧");
continue;
}
else {
System.out.println("恭喜你答对啦");
break;
}
}
scan.close();
}
}
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-fk8eqGS6-1591227476875)(C:\Users\liu\AppData\Roaming\Typora\typora-user-images\1591192497175.png)]
- 2.通过控制台输入两个整数,打印以两个整数为行和列的矩形
package mode2;
import java.util.Scanner;
public class Mode9 {
public static void main(String[] args) {
// 通过控制台输入两个整数,打印以两个整数为行和列的矩形
Scanner scan = new Scanner(System.in);
System.out.println("你想要的矩形是几行呢?:");
int i = scan.nextInt();
System.out.println("你想要的矩形是几列呢?:");
int j = scan.nextInt();
int a = 0;
while (a < i) {
int b = 0;
while (b < j) {
System.out.print("*");
b++;
}
a++;
System.out.println("");
}
scan.close();
}
}
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6bthc2Sg-1591227476879)(C:\Users\liu\AppData\Roaming\Typora\typora-user-images\1591192449094.png)]
- 3.输入一个数字作为行数,打印一个三角形,打印一个倒三角
package mode2;
import java.util.Scanner;
public class Mode10 {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
System.out.println("请输入一个整数作为底:");
int a = scan.nextInt();
int i = 0;
while (i<a) {
int j = 0;
while(j<=(a-i-1)) {
System.out.print("*");
j++;
}
System.out.println();
i++;
}
scan.close();
}
}
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-p3RNeen0-1591227476882)(C:\Users\liu\AppData\Roaming\Typora\typora-user-images\1591192434796.png)]
7. 练习
package mode2;
public class Mode11 {
public static void main(String[] args) {
//使用while
//打印20个3的倍数的和
//打印100以为3的倍数,如果他是7的倍数就停止打印
//打印100以内不包括3和7的倍数
System.out.println(get3Sum());
System.out.println("---------------黄金分割线---------------");
System.out.println(get37Stop());
System.out.println("---------------黄金分割线---------------");
System.out.println(get37Con());
}
public static int get3Sum() {
int sum = 0;//累加和
int k = 0;//生命计数器
while (k<20) {
sum += (3*(k+1));
k++;
}
return sum;
}
public static int get37Stop() {
int a = 1;
while(a<100) {
if(a%3==0) {
if(a%7==0) {
System.out.println("出现了3和7的公倍数"+a+"循环停止");
break;
}
System.out.println(a);
}
a++;
}
return a;
}
public static int get37Con() {
int a = 1;
while(a<100) {
if(a%3==0||a%7==0) {
System.out.println("出现了3或7的倍数,已被我跳过。"+a);
a++;
continue;
}else {
System.out.println(a);
}
a++;
}
return a;
}
}
上一篇: 20190613 java小练习