iT邦幫忙

2026 iThome 鐵人賽

DAY 12
0

本日練習:

  1. 試設計一程式,將一維字元陣列 chr 中的所有小寫字母轉換成大寫字母
import java.util.Scanner;
public class CH12_1 {
    public static void main(String[] args){
        Scanner input = new Scanner(System.in);
        System.out.println("請輸入陣列的個數:");
        int n = input.nextInt();
        char[] chr = new char[n];
        for(int i = 0; i < n; i++){
            System.out.println("請輸入字符符合個數的字元數:");
            chr[i] = Character.toUpperCase(input.next().charAt(0));
            // Character.toUpperCase 將字元轉成大寫
            // charAt(0) 取出文字的第一個字元
        }
        System.out.println("轉換後的字元:");
        System.out.println(chr);
        input.close();
    }
}
  1. 試找出從 2 開始的前 10 個質數,並將它寫入陣列 primes 裡,primes[0] = 2,primes[1] = 3,依此類推
public class CH12_2 {
    public static void main(String[] args){
        int[] primes = new int[10];
        int num = 0;
        int i = 2;
            while(num < 10){
                boolean isPrime = true;
                for(int j = 2; j * j <= i; j++){
                    if(i % j == 0){
                        isPrime = false;
                        break;
                    }
                }
                if(isPrime){
                    primes[num] = i;
                    num++;
                }
                i++;
            }
            System.out.println(java.util.Arrays.toString(primes));
    }
}
  1. 設二維陣列 arr 的內容為 {{18,21,30},{40,34,61},{41,15,18}},撰寫一個程式,找出 arr 中的最小值與位置
public class CH12_3 {
    public static void main(String[] args){
        int[][] arr = {{18,21,30},{40,34,61},{41,15,18}};
        int min = arr[0][0];
        int mi = 0, mj = 0;
        for(int i = 0; i <= 2; i++){
            for(int j = 0; j <= i; j++){
                if(arr[i][j] < min){
                    min = arr[i][j];
                    mi = i;
                    mj = j;
                }
            }
        }
        System.out.println("The minimum element is at position [" + mi + "," + mj + "] and its value is " + min);
    }
}

  1. 試撰寫 void greeting(int k) 函數,當呼叫它時,螢幕上會列出 k 行 "Hello Java!" 字串
import java.util.Scanner;
public class CH12_4 {
    public static void main(String[] args){
        Scanner input = new Scanner(System.in);
        System.out.println("請輸入要列印的行數:");
        int k = input.nextInt();
        greeting(k);
        input.close();
    }
    public static int greeting(int k){
        for(int i = 0; i < k; i++){
            System.out.println("Hello Java!");
        }
        return k;
    }
}
  1. 試撰寫一函數 int odd(int[] arr),可傳回一維陣列 arr 中,元素為奇數的個數
import java.util.Scanner;
public class CH2_5 {
    public static void main(String[] args){
        Scanner input = new Scanner(System.in);
        System.out.println("請輸入陣列的個數:");
        int n = input.nextInt();
        int[] arr = new int[n];
        System.out.println("請輸入陣列元素:");
        for(int i = 0; i < n; i++){
            arr[i] = input.nextInt();
        }
        System.out.println("陣列中奇數的個數為:" + odd(arr));
        input.close();
    }
    public static int odd(int[] arr){
        int count = 0;
        for(int i = 0; i < arr.length; i++){
            if(arr[i] % 2 != 0){
                count++;
            }
        }
        return count;
    }
}

本日結語:
覺得自己對陣列、函數還是不太熟悉,需要多練習才能掌握


上一篇
Day 11:陣列與函數(2)
下一篇
Day 13:類別(1)
系列文
從零開始學程式語言:Java 新手修煉記 共 17 篇
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言