1. 程式人生 > 實用技巧 >K8S 本地 配置 Local PV 實踐

K8S 本地 配置 Local PV 實踐

基礎題目

第一題:需求實現

  • 模擬大樂透號碼:

    • 一組大樂透號碼由10個1-99之間的數字組成

    • 定義方法,列印大樂透號碼資訊

  • 程式碼實現,效果如圖所示:

  • 開發提示:

    • 使用陣列保存錄入的號碼

  • 參考答案:

 public class Test1 {
        public static void main(String[] args) {
            int[] arr  = {10,20,30,40,50, 60,66,70,80,99};
            printNum(arr);
        }
    
        public static void printNum(int[] arr) {
            System.out.println("您的大樂透號碼為:");
            for (int i = 0; i < arr.length; i++) {
                System.out.print(arr[i]+" ");
            }
        }
    }

  

第二題:需求實現

  • 列印撲克牌.

  • 程式碼實現,效果如圖所示:

  • 開發提示:

    • 使用兩個字串陣列,分別儲存花色和點數

 public class Test2 {
        public static void main(String[] args) {
            // 花色陣列
            String[] hs  = {"黑桃","紅桃","梅花","方片"};
            // 點數陣列
            String[] ds = {"A","2","3","4", "5","6","7","8","9","10","J","Q","K"};
            printCard(hs,ds);
        }
        public static void printCard(String[] hs ,String[] ds){
            for (int hs_index = 0; hs_index < hs.length; hs_index++) {
                for (int ds_index = 0; ds_index < ds.length; ds_index++) {
                    // 拼接字串
                    System.out.print(  hs[hs_index] + ds[ds_index]+" ");
                }
                // 輸出換行
                System.out.println();
            }
        }
    }

第三題:需求實現

  • 模擬在一副牌中,抽取第1張,第5張,第50張撲克牌。

  • 程式碼實現,效果如圖所示:

  • 參考答案:


public class Test3 {
        public static void main(String[] args) {
            // 獲取所有撲克牌
            String[] puke = getPuke();
    
            // 抽取指定的三種撲克牌
            int num1 = 1;
            int num2 = 5;
            int num3 = 50;
            String[] pk3 = get3(puke , num1 ,num2,num3);
            // 列印抽取的牌
            for (int i = 0; i < pk3.length; i++) {
                System.out.print(pk3[i] + " ");
            }
        }
    
        private static String[] getPuke() {
    
            String[] colors={"黑色","紅桃","梅花","方塊"};
            String[] nums={"A","2","3","4","5","6","7","8","9","10","J","Q","K"};
    
            String[] puke = new String[54];
            int index = 0;
            for (int i = 0; i < colors.length; i++) {
                for (int j = 0; j < nums.length; j++) {
                    puke[index] = colors[i]+nums[j];
                    index ++;
                }
            }
            puke[52] = "小王";
            puke[53] = "大王";
    
            return puke;
    
        }
    
        public static String[] get3(String[] puke, int i, int i2, int i3) {
            String[] pk3 = new String[3];
            pk3[0] = puke[i - 1];
            pk3[1] = puke[i2 - 1];
            pk3[2] = puke[i3 - 1];
            return pk3;
        }
    }

第四題:需求實現

  • 統計字元

    • 字元陣列:{'a','l','f','m','f','o','b','b','s','n'}

    • 定義printCount方法,統計每個字元出現的次數並列印到控制檯。

  • 程式碼實現,部分效果如圖所示:

  • 開發提示:

    • 將數字強制轉換,根據ASCII碼錶轉換為字元。

    • 可以定義長度26的陣列,每個元素,對應去儲存每種字元的出現次數,比如0索引儲存a的次數,1索引儲存b的次數,以此類推。

  • 參考答案:


     public class Test4 {
          public static void main(String[] args) {
              //  獲取長度100的字元陣列
              char[] charArray = {'a','l','f','m','f','o','b','b','s','n'};
              //  統計字元陣列中字母出現次數
              printCount(charArray);
          }
          public static void printCount(char[] charArray) {
              int[] count= new int[26];
              // 對應儲存字母出現的次數
              for (int i = 0; i < charArray.length; i++) {
                  int c  = charArray[i];
                  count[c- 97]++;
              }
              // 列印字母和次數
              for (int i = 0, ch = 97; i < count.length; i++, ch++) {
                  if (count[i] != 0 ) {
                      System.out.println((char) ch + "--" + count[i]);
                  }
              }
          }
      }
    

      

第五題:需求實現

  • 統計高於平均分的分數有多少個。

    • 定義陣列[95, 92, 75, 56, 98, 71, 80, 58, 91, 91]。

    • 定義getAvg方法,獲取一個數組中的平均數

  • 程式碼實現,效果如圖所示:

  • 參考答案:


     public class Test5 {
          public static void main(String[] args) {
              // 獲取隨機分數
              int[] score = {95, 92, 75, 56, 98, 71, 80, 58, 91, 91};
              // 獲取平均分
              int avg = getAvg(score);
              // 定義計數的變數
              int count = 0 ;
              for (int i = 0; i < score.length; i++) {
                  if (score[i] > avg){
                      count++;
                  }
              }
              System.out.println("高於平均分:"+avg+" 的 個數有" + count+" 個");
          }
          // 獲取平均分的方法
          public static int getAvg(int[] arr) {
              int sum = 0;
              for (int i = 0; i < arr.length; i++) {
                  sum += arr[i];
              }
              return sum / arr.length;
          }  
      }

第六題:需求實現

  • 定義sym方法,判斷陣列中的元素值是否對稱.

  • 程式碼實現,效果如圖所示:

  • 開發提示:

    • 陣列中元素首尾比較。

  • 參考答案:

     public class Test6 {
          public static void main(String[] args) {
              int[] arr = {1,2,3,4,3,2,1};
              System.out.println(Arrays.toString(arr) +" 是否對稱:" +sym(arr) );
    ​
              int[] arr2 = {1,2,3,4,5,2,1};
              System.out.println(Arrays.toString(arr2) +" 是否對稱:" +sym(arr2) );
          }
    ​
          public static boolean sym(int[] arr) {
              /*
              start : 陣列頭
              end :陣列尾 
               */
              for (int start = 0 , end = arr.length -1 ; start <= end; start++, end--) {
                  // 如果兩端一旦有元素不等,就返回false
                  if (arr[start] != arr[end]) {     
                      return false;
                  }
              }
              return true;
          }
      }

第七題:需求實現

  • 定義equals方法,比較陣列內容是否完全一致。

  • 程式碼實現,效果如圖所示:

  • 開發提示:

    • 長度一致,內容一致,定義為完全一致。

  • 參考答案:

 public class Test7 {
      public static void main(String[] args) {
​
          int[] arr = {1,2,3,4,3,2,1};
          int[] arr2 = {1,2,3,4,3,2,1};
          System.out.println(" 是否一致:" +equals(arr ,arr2) );
​
      }
      //  比較陣列的內容
      public static boolean equals(int[] arr1, int[] arr2) {
    // 長度不同,返回false
          if (arr1.length != arr2.length) {
              return false;
          }
    
    //
          for (int i = 0; i < arr1.length; i++) {
              // arr1[i] 和 arr2[i]比較
              /*
               * 所有元素都相同才相同,也就是隻要有一個不同,這兩個陣列就是不同
               */
              if (arr1[i] != arr2[i]) {
                  return false;
              }
          }
          return true;
      }
  }