目前分類:TQC+ Java (6)

瀏覽方式: 標題列表 簡短摘要

這邊只做了兩大題,其實後來還有再精簡修改,但沒打上註解

之後有時間再打好放上來

602-1

ivankao 發表在 痞客邦 留言(0) 人氣()

501

import java.util.Scanner;
public class JPA05 {
    static Scanner k = new Scanner(System.in);
    
    public static void main(String args[]) {
        int count[] = new int[10]; //arr配置10個整數的陣列元素,索引為0到9
        int sum=0,n=0;
        System.out.println("請輸入10個整數:");
        for (int i=0;i<10;i++){ //因為陣列索引只到9,這裡不能等於10
            System.out.printf("第%d個整數:",i+1); //因此在這邊直接加上1來計數
            count[i] = k.nextInt(); //將每次讀取的值,分別存入陣列中
        }
        for (int i=0;i<10;i++){ //迴圈讀取陣列中的元素
            if (count[i] > 60){ //依據題目要求,將大於60的值另外做處理
                sum = sum + count[i]; //加總
                n++;     //計算個數
            }
        }

        
        System.out.println("陣列中大於60的有" + n + "個\n總合為" + sum + "\n平均值為" + (sum / (double)n));
    }
}

502

import java.util.Scanner;
public class JPA05 {
    public static Scanner keyboard = new Scanner(System.in);
    
    public static void main(String args[]) {
        System.out.print("請輸入學生人數:");
        int num = keyboard.nextInt();
        float count[] = new float[num]; //這題要使用float型態,才能按照題目計算小數點後6位,若使用double會不夠精確
        float sum=0; //加總
        for (int i=0;i<num;i++){  //個數為使用者輸入的 num 值
            System.out.printf("第%d個學生的成績:",i+1);
            count[i] = keyboard.nextFloat(); //將使用者輸入的值,分別存入陣列中
        }
        for (int i=0;i<num;i++){ //迴圈加總
            sum = sum + count[i];
        }
        System.out.printf("人數:%d\n",num);
        System.out.printf("總分:%.2f\n",sum);
        System.out.printf("平均:%f\n",(sum/num));


              

    }
}

503

ivankao 發表在 痞客邦 留言(0) 人氣()

401

import java.util.Scanner;
public class JPA04 {
    static Scanner keyboard = new Scanner(System.in);
    public static void main(String args[]) {
        System.out.print("Input n (0 <= n <= 16):");
        int n = keyboard.nextInt();
        while(n!=999){
            if(n!=999){ //若 n 不為 999 則打印其內容
                System.out.printf("%d 的階乘 = %d\n",n,factorial(n));
            }
            System.out.print("Input n (0 <= n <= 16):");
            n = keyboard.nextInt();
        
        }

    }
    
    static int factorial(int y){ //自訂一個遞迴方法
        if(y==0){    //若傳入 0 ,則返回 1
            return 1;
        }else{       // 傳入任意數字,則將他 遞迴的 乘上本身減1,
            return (y * factorial(y-1));
        }
    }

}

402

import java.util.Scanner;
public class JPA04 {
    static Scanner keyboard = new Scanner(System.in);
    public static void main(String args[]) {
        
        System.out.print("Input n (0 <= n <= 16):");
        int n = keyboard.nextInt();
        int sum = 1; // 題目規定要另外傳入參數來累計遞迴的答案
        while(n!=999){
            System.out.printf("%d 的階乘(尾端遞迴) = %d\n",n,fac(n,sum));
            System.out.printf("%d 的階乘(迴圈) = %d\n",n,loop(n));
            System.out.print("Input n (0 <= n <= 16):");
            n = keyboard.nextInt();
        }


    }
    
    
    static int fac(int x, int sum){ //尾端遞迴:在返回值時調用自己
        if (x == 0) return  sum;     //若 x 為 0,返回 1
        else return fac(x-1,x*sum);//若 x 不為 0,則將 x-1 再次帶入遞迴
    }
    
    static int loop(int y){
        int sum = 1;
        while(y>0){  //迴圈
            sum = y * sum;
            y = y -1; //每迴圈一次,減少1,直到為 0 停止
        }
        return sum;
    }






}

403

ivankao 發表在 痞客邦 留言(0) 人氣()

301

import java.util.*;
class JPA03 {
    public static void main(String argv[]) {
        Scanner keyboard = new Scanner(System.in); //Scanner方法,獲取使用者輸入
        System.out.println("Input:");
        int x = keyboard.nextInt();
        int sum = 0; //設一變數為0,之後用於加總數值
        for (int i = 1; i <= x; i++) { //設一變數為1,小於等於使用者輸入的整數,每回圈一次增加1
            sum = sum + i;             //每迴圈一次,將該次迴圈的數值添加到加總數值中          
        }
        System.out.println("1 + ... + " + x + " = " + sum); //使用 + 來插入變數
    }
}

302

import java.util.Scanner;
public class JPA03 {
    public static void main(String[] args) {
        int i = 1, j = 1, count = 0;
        for (i = 1; i <= 3; i++) {        //第一個迴圈,i從1到3
            for (j = 1; j <=9 ; j++){     //第二個迴圈,i從1到9
                count = count + 1;        //每次回圈 i 增加 1
            }
        }
        System.out.printf("count = %d\n", count);
    }
}

303

ivankao 發表在 痞客邦 留言(0) 人氣()

201

import java.util.Scanner;
public class JPA02 { //修改檔名
    static Scanner keyboard = new Scanner(System.in);
    
    public static void main(String[] args) {
        test();
        test();
    }
    
    public static void test() {
        System.out.println("Please enter score:");  //要求輸入分數(println換行)
        int x;  //設整數型態的變數
        x = keyboard.nextInt();  //將使用者輸入的值指派給變數x
        if (x >= 60){  //if條件判斷 大於等於60
            System.out.println("You pass");
        } //結束條件判斷
        System.out.println("End");  //最後按題目要求輸出End
    }
}

202

import java.util.*;
class JPA02 { //更改檔名
    static Scanner keyboard = new Scanner(System.in);
    public static void main(String[] args) {
        test();
        test();
    }
    
    public static void test() {
        System.out.println("Input:"); //要求使用者輸入
        int x,y;
        x = keyboard.nextInt();  //輸入第一個整數
        y = keyboard.nextInt();  //輸入第二個整數
        if (x > y){   //若 x > y
            System.out.printf("%d is larger than %d\n",x, y); //格式化輸出並換行
        }
        else if(y > x){ //若 y > x
            System.out.printf("%d is larger than %d\n",y, x); //格式化輸出並換行
        }
    }
}

203

ivankao 發表在 痞客邦 留言(0) 人氣()

TQC+ Java

這邊先附上一些我覺得比較需要記憶的程式碼

// Integer.parseInt(String s)  將字串解析為十進位整數
// String.length() 取得字串長度
//string.equals(x) 比較字串與x是否相同
//string.substring(x,y) 取出字串中 第 x 到第 y 個字元的字串
//string.substring(x)  取出字串中 第 x 個字元之後的字串
//用(-1)停止加總回圈:先計數在讀取,避免算到-1
//char q = keyboard.next().charAt(0);  //char為字串型態 ,讀取字串的第0項內容

 

ivankao 發表在 痞客邦 留言(0) 人氣()