05字符串運用

課後做業1:字串加密java

  • 古羅馬皇帝凱撒在打仗時曾經使用過如下方法加密軍事情報:

 

請編寫一個程序,使用上述算法加密或解密用戶輸入的英文字串要求設計思想、程序流程圖、源代碼、結果截圖。算法

設計思想:數組

輸入字符串->將字符串轉換爲單個字符->每一個字符加3->鏈接字符串->字符串加密輸出學習

程序流程圖:加密

 

源代碼:設計

//陶雨潔 2016/10/28 201531523d

package 字符運用;對象

import javax.swing.*;blog

import java.util.Scanner;內存

public class Stringyy {

   public static void main( String args[] )

   {

         //轉爲可用字符串

       System.out.println("輸入加密的字母字符");

       Scanner  input=new Scanner(System.in);

       String mm=input.nextLine();

       

               int n=mm.length();

               String str1=new String();

               for(int i=0;i<n;i++)

               {

                        char a=mm.charAt(i);//取出單個字符

                        a=(char)(a+3);//每一個字符對應加3獲得對應的字符

                        str1=str1+a;//鏈接

               }

     System.out.println("加密後的爲:"+str1);

      }

 

}

 

結果截圖:

 

 

課後做業2:動手動腦

請運行如下示例代碼StringPool.java,查看其輸出結果。如何解釋這樣的輸出結果?從中你能總結出什麼?

 

輸出結果:

true ture false

思考:

Java將同一內容的字符串保存在同一個地址當中,字符==判斷是判斷地址和數據,因此s0==s1爲true。而字符串+會自動鏈接,因此實際上s2就是String s2=」HELLO」;,s0==s2也爲true。這些個都是使用的同一個內存空間,而一旦new就表明申請新的內存空間,結果就是不一樣的內存位置固然判等是就會顯示false。

 

爲何會有上述的輸出結果?從中你又能總結出什麼?

 

輸出結果:

True false false true

思考:

S1與s2引用同一個字符「a」,因爲數據內容相同因此保存在同一個地址,s1==s2結果是true,String類型+=操做以後獲得一個新的字符串對象,s1==s2爲false。字符串常量地址和申請的字符串對象地址無關,因此s2==」ab」爲false。

.equals()判斷數據內容。

請查看String.equals()方法的實現代碼,注意學習其實現方法。

實現代碼說起String s1=newString(「hello」);與String s1=」hello」;的區別。咱們知道new了一個新的對象以後,即使String數據內容相同可是地址還是不一樣的,而若是是String類型變量賦值,結果卻不一樣,一樣數據內容的變量地址是相同的。

 

 

整理String類的Length()、charAt()、 getChars()、replace()、 toUpperCase()、 toLowerCase()、trim()、toCharArray()使用說明

 

Length():S. Length()表明字符串S的長度

 

charAt():S.charAt(i)表明S字符串提出單個第i個字符

 

getChars()charArray = new char[ 5 ];//定義一個字符串數組

         s1.getChars( 0, 5, charArray, 0 );//將字符串S1從下標爲0開始到下標爲5保存在charAt數組當中,且拷貝的字符放在charAt的起始下標爲0.

         for ( int i = 0; i < charArray.length;i++ )

           output += charArray[ i ];//以字符數組的形式輸出字符

replace()將原字符串中的某個字符替換爲指定的字符,並獲得一個新的字符串

 

toUpperCase()、toLowerCase():大小寫轉換,toLowerCase()用來將字符串中的全部大寫字母改成小寫字母,,方法toUpperCase()用來將字符串中的全部小寫字母改成大寫字母。返回值均爲已經轉換的字符。

trim()去除頭尾空格,獲得一個新的字符串。

toCharArray()將字符串對象轉換爲字符數組

相關文章
相關標籤/搜索