java中while循环的使用--练习

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;
	}
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章