(2)2017.8.3下,java小程序的實踐

一.首先是在DOS環境下進行最簡單的編譯運行helloworld程序。

第一步是新建一個txt文件爲helloworld並輸入以下代碼

public class helloworld{
public static void main(String[] args){
System.out.println("HelloWorld!");
}
}


這就是最簡單的java程序,我們將其保存並將其後綴改爲.java

接下來我們打開DOS命令快捷鍵是win+R鍵輸入cmd即可

在之後我們使用CD命令進入helloworld.java所在的文件夾下,輸入命令javac helloworld.java,回車,系統自動生成了一個helloworld.class

最後我們輸入java helloworld,大功告成!

二.題目:古典問題:有一對兔子,從出生後第3個月起每個月都生一對兔子,小兔子長到第三個月後每個月又生一對兔子,假如兔子都不死,問每個月的兔子總數爲多少?  

這是一個斐波那契數列問題,可以化爲一個簡單的方程式及F(n)=F(n-1)+F(n+2),我按照這個思路就很容易的寫出了具體算法:

package test01;

import java.util.Scanner;

public class T01 {

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("請輸入月份:");//獲取月份
        int n = sc.nextInt();
        int sum = 0;
        for(int i =0;i<n;i++){
             sum +=fi(i);//進行累加輸出結果
         }
        System.out.println("當前兔子的數量爲:"+sum);
    }
    public static int fi(int n){
        if(n<=2){
            return 1;
        }else{
            return fi(n-1)+fi(n-2);//實現方法
        }
    }

}


三.題目:判斷101-200之間有多少個素數,並輸出所有素數。

素數就是1除了本身之外沒有其他的約數的數,這時我們就需要用兩層循環嵌套使這個數除以自己以外的任和數如果他能整除就將其捨棄不能整除就將其打印出來,代碼如下:

package test01;

public class T02 {
    public static void main(String[] args){
        boolean i = false;
        int n = 0;
        int j;
        for(n=101;n<200;n++){
             i = false;//第一層循環進行101至200的遞增
             for(j=2;j<=n-1;j++){
                 if(n%j==0){
                     i=true;
                     break;//第二層循環使這個數字除以每個除了1和自己之外的數字
                 }//如果不能整除就進行輸出
             }
            if(!i){
                System.out.println(n);
            }
        }
        
    }
}


四.題目:打印出所有的 "水仙花數 ",所謂 "水仙花數 "是指一個三位數,其各位數字立方和等於該數本身。例如:153是一個 "水仙花數 ",因爲153=1的三次方+5的三次方+3的三次方。

package test01;

public class T03 {
    public static void main (String[] args){
        int n ;
        int i,j,k;
        for(n=100;n<=999;n++){
            i=n%10;
            j=(n%100)/10;
            k=n/100;
            if(i*i*i+k*k*k+j*j*j==n){
                System.out.println(n);
            }
            
        }
    }
}



五.題目:將一個正整數分解質因數。例如:輸入90,打印出90=2*3*3*5。   
程序分析:對n進行分解質因數,應先找到一個最小的質數k,然後按下述步驟完成:   
(1)如果這個質數恰等於n,則說明分解質因數的過程已經結束,打印出即可。   
(2)如果n <> k,但n能被k整除,則應打印出k的值,並用n除以k的商,作爲新的正整數你n,重複執行第一步。   
(3)如果n不能被k整除,則用k+1作爲k的值,重複執行第一步。

package test01;

import java.util.Scanner;

public class T04 {
        public static void main (String[] args){
            System.out.println("請輸入一個正整數:");
            Scanner sc = new Scanner(System.in);
            int n = sc.nextInt();
            System.out.print(n+"=");
            for(int k=2;k<n;k++){
                if(n%k==0){//整除即爲最小質因數
                    System.out.print(k+"*");
                    n=n/k;//將被整除的數作爲新的N繼續循環
                    k=2;
                }
            }
            System.out.print(n);//輸出最後一個質因數
        }
    }




五.題目:利用條件運算符的嵌套來完成此題:學習成績> =90分的同學用A表示,60-89分之間的用B表示,60分以下的用C表示。

package test01;

import java.util.Scanner;

public class T05 {

    public static void main(String[] args) {
        System.out.println("請輸入你的成績:");
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        char i = (n>90)?'A':(n>=60)?'B':'C';//運用條件運算符進行判斷
        System.out.println(i);

    }

}



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