<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      day10

      今日作業:

      題目2

      鍵盤輸入任意字符串,打亂里面的內容

      訓練目標

      隨機數類Random相關API、字符串相關API

      訓練提示

      1、字符串是不可變的

      2、如果要變化需要變成字符數組

      3、調整完畢之后再變回字符串

      參考答案

      import java.util.Random;  
      import java.util.Scanner;  
        
      public class Text12 {  
          public static void main(String[] args) {  
              //鍵盤錄入一個字符串  
              Scanner sc = new Scanner(System.in); 
              System.out.println("請輸入一個字符串"); 
              String strA = sc.next();  
        
              char[] arr = strA.toCharArray();  
              Random r =  new Random();  
              for (int i = 0; i < arr.length; i++) {  
                  int index = r.nextInt(arr.length);  
                  char temp = arr[index];  
                  arr[index] = arr[i];  
                  arr[i] = temp;  
              }  
              String str2 = new String(arr);  
              System.out.println(str2);  
          }  
      }
      

      題目3

      訓練目標:

      生成驗證碼

      內容:可以是小寫字母,也可以是大寫字母,還可以是數字

      規則:

      長度為5
      
      內容中是四位字母,1位數字。
      
      其中數字只有1位,但是可以出現在任意的位置。
      

      參考答案

        
      import java.util.Random;  
        
        
      public class Work {  
          public static void main(String[] args) {  
              //創建一個數組用于存儲大小寫字母  
              char[] arr = new char[52];  
              for (int i = 0; i < 52; i++) {  
                  if (i <= 25)  
                      arr[i] = (char) (i + 97);  
                  else  
                      arr[i] = (char) (65+i-26);  
              }  
        
              //隨機生成四個字母組成一個字符串  
        
              StringBuilder sb = new StringBuilder();  
              Random rand = new Random();  
              for (int i = 0; i < 4; i++) {  
                  int index = rand.nextInt(52);  
                  char ch = arr[index];  
                  sb.append(ch);  
              }  
              //隨機生成一個數字拼接到字符串  
        
              int num = rand.nextInt(9);  
              sb.append(num);  
              System.out.println(sb);  
        
              //打亂順序  
              String str = sb.toString();  
              char[] newArr = str.toCharArray();  
              for (int i = 0; i < newArr.length; i++) {  
                  int index = rand.nextInt(newArr.length);  
                  char temp = newArr[i];  
                  newArr[i] = newArr[index];  
                  newArr[index] = temp;  
              }  
              String result = new String(newArr);  
              System.out.println(result);  
          }  
      }
      

      題目4

      請編寫程序,由鍵盤錄入一個字符串,統計字符串中英文字母和數字分別有多少個。比如:Hello12345World中字母:10個,數字:5個。

      訓練目標

      字符串遍歷

      訓練提示

      1、鍵盤錄入一個字符串,用 Scanner 實現
      2、要統計兩種類型的字符個數,需定義兩個統計變量,初始值都為0
      3、遍歷字符串,得到每一個字符
      4、判斷該字符屬于哪種類型,然后對應類型的統計變量+1,判斷字母時需要考慮大小寫,條件比較復雜,怎樣做才能使判斷更簡單呢?

      訓練步驟

      1、創建鍵盤錄入Scanner對象,使用nextLine方法接收輸入的字符串。

      2、為方便后續判斷,使用String的toLowerCase方法,將字符串中的字符都轉為小寫。

      3、需定義兩個統計變量,初始值都為0

      4、遍歷字符串,得到每一個字符

      5、判斷該字符屬于哪種類型,然后對應類型的統計變量+1,次數判斷英文字母時只需判斷小寫即可。

      參考答案

      import java.util.Scanner;  
        
      public class Work {  
          public static void main(String[] args) {  
              //鍵盤錄入一個字符串  
              Scanner sc = new Scanner(System.in);  
              System.out.println("請輸入一個字符串");  
              String str = sc.next();  
        
              //轉變為數組  
              char[] arr = str.toCharArray();  
              //定義兩個變量分別用來存儲字母個數和數字個數  
              int letterCount = 0;  
              int numberCount = 0;  
              for (int i = 0; i < arr.length; i++) {  
                  if (arr[i] >= 'a' && arr[i] <= 'z' || arr[i] >= 'A' && arr[i] <= 'Z') {  
                      letterCount++;  
                  } else if (arr[i] >= '0' && arr[i] <= '9') {  
                      numberCount++;  
                  }  
              }  
              System.out.println(str + "中,字母:" + letterCount + "數字:" + numberCount);  
          }  
      }
      

      題目5

      請定義一個方法用于判斷一個字符串是否是對稱的字符串,并在主方法中測試方法。例如:"abcba"、"上海自來水來自海上"均為對稱字符串。

      訓練目標

      字符串的反轉功能,判斷是否相等功能

      訓練提示

      1、判斷是否對稱,方法的返回值是什么類型?參數列表是什么?

      2、怎樣判斷對稱呢?如果可以將字符串反轉,反轉后發現跟原來的字符串完全一樣,不就可以判斷出來了嗎,那么哪個類有字符串的反轉功能呢?

      訓練步驟

      1、定義方法,返回值類型為boolean,參數列表為String類型的一個參數。

      2、將字符串轉換為StringBuilder類型,調用StringBuilder的reverse()方法將字符串反轉。

      3、將反轉后的字符串再轉回String類型,并與原字符串比較,如果相等,返回true,否則返回false

      4、在主方法中,定義一個字符串,調用方法測試結果。

      參考答案

      import java.util.Scanner;  
        
      public class Work {  
          public static void main(String[] args) {  
              //鍵盤錄入字符串  
              Scanner sc = new Scanner(System.in);  
              System.out.println("請輸入一個字符串");  
              String str = sc.nextLine();  
        
              boolean result = check(str);  
              System.out.println(result);  
          }  
        
          //定義一個方法用于判斷是否為對稱字符串  
          public static boolean check(String str) {  
              //如果傳遞空值返回false  
              if(str==null){  
                  return false;  
              }  
              //轉換為StringBuilder  
              StringBuilder sb = new StringBuilder(str);  
              //反轉再轉為字符串  
              String strA = sb.reverse().toString();  
              //比較是否與原字符相等  
              return strA.equals(str);  
          }  
      }
      

      題目6

      我國的居民身份證號碼,由由十七位數字本體碼和一位數字校驗碼組成。請定義方法判斷用戶輸入的身份證號碼是否合法,并在主方法中調用方法測試結果。規則為:號碼為18位,不能以數字0開頭,前17位只可以是數字,最后一位可以是數字或者大寫字母X。

      訓練目標

      字符串的遍歷、判斷

      訓練提示

      1、要判斷字符串是否符合規則,方法的返回值類型是什么?參數列表是什么?

      2、使用String的API,對每種不符合條件的情況作出判斷,一旦發現不符合條件就可以結束方法的執行,返回結果了。

      3、在主方法中創建鍵盤錄入,調用方法,輸入各種數據測試結果。

      訓練步驟

      1、定義方法,返回值類型為boolean表示是否合法,參數列表為String類型的id,表示要判斷的數據。

      2、對每種不符合條件的情況作出判斷

      ? 2.1、如果字符串長度不是18,返回false。

      ? 2.2、如果字符串以數字"0"開頭,返回false。

      ? 2.3、遍歷字符串,獲取每一位字符,判斷前17位,如果不是數字,返回false,判斷最后一位如果不是數字或者X,返回false

      ? 2.4、所以的不符合條件都篩選完成,返回true

      3、在主方法中創建鍵盤錄入Scanner對象,調用nextLine()方法,獲取用戶輸入,調用方法,傳遞參數,查看結果。要多運行幾次,判斷各種不符合條件的數據。

      參考答案

      import java.util.Scanner;  
        
      public class Work {  
          public static void main(String[] args) {  
              //鍵盤錄入身份證號碼  
              Scanner sc = new Scanner(System.in);  
              System.out.println("請輸入身份證號碼");  
              String id = sc.next();  
              boolean result = checkID(id);  
              if (result) {  
                  System.out.println("合法");  
              } else {  
                  System.out.println("不合法");  
              }  
          }  
        
          //定義一個方法判斷用戶輸入身份證號碼是否合法  
          public static boolean checkID(String id) {  
              char[] idArr = id.toCharArray();  
              if (idArr.length == 0 || idArr[0] == 0 || idArr.length != 18) {  
                  return false;  
              }  
              for (int i = 0; i < idArr.length - 1; i++) {  
                  if (idArr[i] < '0' && idArr[i] > '9') {  
                      return false;  
                  }  
              }  
              if (idArr[idArr.length - 1] < '0' && idArr[idArr.length - 1] > '9' && idArr[idArr.length - 1] != 'X') {  
                  return false;  
              }  
              return true;  
          }  
      }
      

      題目7

      定義一個方法,把 int 數組中的數據按照指定的格式拼接成一個字符串返回,調用該方法,并在控制臺輸出結果。

      要求:

      ? 1、如果傳遞的參數為空,返回null

      ? 2、如果傳遞的數組元素個數為0,返回[]

      ? 3、如果數組為int[] arr = {1,2,3}; ,執行方法后的輸出結果為:[1, 2, 3]

      訓練目標

      字符串的拼接

      訓練提示

      1、定義方法的返回值是什么?參數列表是什么?

      2、如果不做判斷就對數組進行遍歷,那么如果數組對象為空,會報出異常,怎樣避免空指針異常呢?

      3、拼接字符串必然涉及到頻繁改變,該采用可變的字符序列StringBuilder比較好

      4、遍歷數組,按照題目格式拼接數組中的元素。

      5、將字符串返回

      6、在主方法中定義數組,并調用方法,打印結果

      訓練步驟

      1、定義方法返回值類型:String,參數:int[] arr

      2、判斷對象如果為null,直接返回null

      3、創建StringBuilder對象

      4、遍歷數組,按照要求進行拼接數組元素,如果是不是最后一個元素,還要拼接逗號和空格

      5、將StringBuilder轉為String返回

      6、在主方法中定義數組,并調用方法,打印結果

      參考答案

        
      import java.util.StringJoiner;  
        
      public class Work {  
          public static void main(String[] args) {  
              //定義一個數組  
              int[] arr ={1,2,3,4,5};  
              //調用方法  
              String str = getString(arr);  
              System.out.println(str);  
        
          }  
        
          //定義一個方法把數組中的數據拼接成字符串并返回  
          public static String getString(int[] arr){  
              if(arr==null||arr.length==0){  
                  return null;  
              }  
              StringJoiner sj = new StringJoiner(", ","[","]");  
              for(int i=0;i<arr.length;i++){  
                  sj.add(arr[i]+"");  
              }  
              return sj.toString();  
          }  
      }
      

      題目8(擴展)

      在String類的API中,有如下兩個方法:

      // 查找參數字符串str在調用方法的字符串中第一次出現的索引,如果不存在,返回-1
      public int indexOf(String str)
      
      // 截取字符串,從索引beginIndex(包含)開始到字符串的結尾
      public String substring(int beginIndex)
      

      請仔細閱讀API中這兩個方法的解釋,完成如下需求。

      現有如下文本:"Java語言是面向對象的,Java語言是健壯的,Java語言是安全的,Java是高性能的,Java語言是跨平臺的"。請編寫程序,統計該文本中"Java"一詞出現的次數。

      訓練目標

      String類API的靈活使用

      訓練提示

      1、要找的子串是否存在,如果存在獲取其出現的位置。這個可以使用indexOf完成。
      2、如果找到了,那么就記錄出現的位置并在剩余的字符串中繼續查找該子串,而剩余字符串的起始位是出現位置再加上子串的長度。

      3、以此類推,通過循環完成查找,如果找不到就是-1,每次找到用計數器記錄次數。

      訓練步驟

      1、定義方法,返回值int表示次數,參數列表兩個字符串,第一個表示在哪個字符串中查找,第二個表示要查找的目標子串

      2、定義統計變量表示次數。

      3、定義索引變量,表示每次找到子串出現的索引。

      4、定義循環,判斷條件為在字符串中找到了目標子串,使用indexOf實現。

      5、如果找到的索引不是-1,在循環中,統計變量累加。

      6、把查找過的部分剪切掉,從找到的索引+子串長度的位置開始截取,使用substring實現。

      7、將統計變量返回

      8、在主方法中,定義字符串表示題目中的文本,定義字符串表示要查找的子串,調用方法,獲取結果。

      參考答案

        
      public class Work {  
          public static void main(String[] args) {  
              //定義一個字符串  
              String str = "Java語言是面向對象的,Java語言是健壯的,Java語言是安全的,Java是高性能的,Java語言是跨平臺的";  
              String str2 = "Java";  
              int count = search(str, str2);  
              System.out.println(count);  
          }  
        
          //定義一個方法查找字符串出現的次數  
          public static int search(String str, String tar) {  
              // 定義統計變量表示次數  
              int count = 0;  
              // 定義索引變量,表示每次找到子串出現的索引  
              int index = -1;  
              // 定義循環,判斷條件為在字符串中找到了目標子串  
              while ((index = str.indexOf(tar)) != -1) { // 將找到的索引賦值給變量并判斷  
                  // 次數累加  
                  count++;  
                  // 把查找過的部分剪切掉,從找到的索引+子串長度的位置開始截取。  
                  str = str.substring(index + tar.length());  
              }  
              return count;  
          }  
        
      }
      
      posted @ 2025-10-26 10:27  飛的博客  閱讀(7)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 色婷婷综合久久久久中文一区二区| 欧美人与动zozo在线播放| 欧美色欧美亚洲高清在线视频| 五月天天天综合精品无码| 一道本AV免费不卡播放| 亚洲a∨无码一区二区三区| 国产午夜福利一区二区三区| 成人无码午夜在线观看| 久久综合亚洲色一区二区三区| 国产婷婷精品av在线| 97无码人妻福利免费公开在线视频| 亚洲日本韩国欧美云霸高清 | 男人用嘴添女人下身免费视频| 国产偷自一区二区三区在线| 国内精品久久人妻无码不卡| 东京一本一道一二三区| 亚洲av永久无码天堂影院| 久久人人爽人人爽人人av| 国产精品扒开腿做爽爽爽a片唱戏| 日韩精品 在线 国产 丝袜| 国产精品成人网址在线观看| 喜德县| 九九热在线精品视频九九| 国产二区三区不卡免费| 亚洲色大成网站WWW永久麻豆| 久久久久久亚洲精品成人| 在线免费不卡视频| 国产精品伦人视频免费看| 日本japanese丰满白浆| 日本高清不卡一区二区三| 国产永久免费高清在线| 国产JJIZZ女人多水喷水| av无码精品一区二区三区| 美女胸18下看禁止免费视频| 久久国产精品二国产人妻| 中文字幕av一区二区| 国产综合色在线精品| 成人一区二区不卡国产| 亚洲精品一区二区三区免| 日韩一级伦理片一区二区| 手机看片日本在线观看视频|