java關於for循環的三個小題,打印九九乘法表,打印完數,打印素數

1. 使用循環語句,打印乘法口訣表;

package mode3;

public class Mode1 {
	/*
	 * 使用循環語句,打印乘法口訣表;
	 */
	public static void main(String[] args) {
		int i, j;
		// 打印乘法口訣相當於是打印三角形
		// 外部循環打印每一行
		for (i = 1; i <= 9; i++) {
			// 內部循環打印每一列
			for (j = 1; j <= i; j++) {
				System.out.print(j + "*" + i + "=" + (i * j) + " ");
			}
			// 每一行都要進行回車
			System.out.println();
		}
	}
}

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-OT6z8gFf-1591489645424)(C:\Users\liu\AppData\Roaming\Typora\typora-user-images\1591448493209.png)]

2. 如果一個數等於其所有因子之和,我們就稱這個數爲"完數",例如 6的因子爲1,2,3 6=1+2+3 6就是一個完數.請編程打印出1000以內所有的完數;

package mode3;

public class Mode2 {
	/*
	 * 如果一個數等於其所有因子之和,我們就稱這個數爲"完數",例如 6的因子爲1,2,3 6=1+2+3 6就是一個完數.請編程打印出1000以內所有的完數;
	 */
	public static void main(String[] args) {
		double i, j, sum;// 定義i爲0-1000以爲的數,j爲i的因數,如果i/j的累加和sum等於i那麼就說這個數完了
		for (i = 1; i <= 1000; i++) {
			sum = 0;
			System.out.println("第" + i);
			// 內部for循環是得到該數的因子的和,出去這個循環以後方便判斷。
			// 如何判斷是不是因數:i%j他的餘數爲0則是i的因數。
			for (j = 1; j < i; j++) {
				if (i % j == 0) {
					sum += j;
				} else {
					continue;
				}
			}
			// 如果sum == i:如果因數和等於i,那麼證明是完數,否則跳過即可
			if (sum == i) {
				System.out.println("你遇到了完數" + i);
			} else {
				System.out.println("這個數" + i + "不是完數");
			}
		}
	}
}

在這裏插入圖片描述

3.如果一個整數只能被1和自身整除,那麼這個數就是個素數,打印出1000以內的素數

public class Mode3 {
	// 外部循環代表0-1000的數字
	// 內部循環判斷是否爲素數
	// 除以2-(i-1)的所有數值,只要都不爲0則說明爲素數
	public static void main(String[] args) {
		int i, j;
		String a = "是素數";
		for (i = 2; i <= 1000; i++) {//外部循環
			a = "是素數";//每次循環重新賦值
			for (j = 2; j < i; j++) {//內部循環從2-(i-1)都取餘一次
				// 判斷條件是否成立
				if (i % j == 0) {
					a = "不是素數";//如果取餘成功則停止
					break;
				}
			}
			boolean t = a.equals("是素數");//判斷是不是素數
			if (t) {
				System.out.println(i + a);
			}
		}
	}

在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章