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