1. 程式人生 > 其它 >Java入門的一些程式碼(一)

Java入門的一些程式碼(一)

技術標籤:學習程式java演算法

一些很簡單的數學題
1.判定一個數是否為素數(使用兩種編寫風格)
2.列印1-100之間的所有素數(使用兩種風格)
3.列印乘法口訣表

1.判定素數

素數是能被1和自身整除的數,所以如果一個數能被除一和自身的數整除的話,那麼它就不是素數。按照這個思路可以去設計一種程式碼。

import java.util.Scanner;

public class JudgePrime {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int
prime = sc.nextInt(); for (int i = 2;i <= (int)Math.sqrt(prime);i++){ if (prime % i == 0){ System.out.println(prime+ "不是素數!"); } } } }

第二種編碼思路(上面的程式碼只可以判斷一個數不是素數,如果引入一個Boolean型別可以實現兩種判斷)

import java.util.Scanner;

public class
Prime { public static void main(String[] args) { Scanner scan = new Scanner(System.in); int num = scan.nextInt(); boolean isPrime = true; if (num < 2) { isPrime = true; } if (num >= 2) { for (int i = 2; i <= Math.sqrt
(num); i++) { if (num % i == 0) { isPrime = false; System.out.println(num+"不是素數"); break; }else{ isPrime = true; } } } if (isPrime == true) System.out.println(num + "是素數!"); } }

2.列印1-100之間的所有素數

這個問題和第一個問題其實是一類問題,只需要在前面的基礎上加一個迴圈即可。

import java.util.Scanner;

public class PrintPrime {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int num = sc.nextInt();
        for (int i = 1;i <= num;i++){
            int j;
            for ( j = 2;j <= (int)Math.sqrt(i);j++){
                if(i % j == 0){
                    break;
                }
            }
            if(j > (int)Math.sqrt(i)){
                System.out.println(i+"是素數!");
            }
        }
    }
}

第二種風格

public class PrintPrime{
    public static void main(String[] args) {
        int num = 1;
        for (num = 1; num <= 100; num++){
            boolean isPrime = true;
            for (int i = 2; i <= Math.sqrt(num);i++){
                if(num % i == 0){
                    isPrime = false;
                    break;
                }else{
                    isPrime = true;
                }
            }
            if(isPrime){
                System.out.println(num);
            }
        }
    }
}

3.列印乘法口訣表

這道題的思路是,要列印兩個數乘法,那麼要用到兩個迴圈,對於這種雙層巢狀的迴圈用一個圖去理解它。
i控制上層迴圈,j控制下層迴圈,j的迴圈次數由i控制
輸出的時候也要注意,內層迴圈完後也就是一行結束,需要進行換行。

public class PrintMultiPlicationTble {
    public static void main(String[] args) {
        for (int i = 1;i <= 9;i++){
            for (int j = 1;j <= i;j++){
                System.out.print(i+"*"+j+"="+i*j+" ");
            }
            System.out.println();
        }
    }
}