欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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;
	}
}
相关标签: java