1. 程式人生 > >課堂作業04 2017.10.27

課堂作業04 2017.10.27

引用 字符 indexof 調用方法 .com 示例 算法 per 巴西

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

package sum;

public class StringEquals {

/**

* @param args the command line arguments

*/

public static void main(String[] args) {

String s1=new String("Hello");

String s2=new String("Hello");

System.out.println(s1==s2);

System.out.println(s1.equals(s2));

String s3="Hello";

String s4="Hello";

System.out.println(s3==s4);

System.out.println(s3.equals(s4));

}

}

技術分享

字符串進行比較是比較的地址是否一樣,而不是內容是否相等,

而要比較內容是否相等要調用方法

使用equals()或equalsIgnoreCase()方法比較兩字串內容是否相同,使用==比較兩字串變量是否引用同一字串對象:Demo: StringEquals.ava

compareTo:使用字典法進行比較,返回0表兩字串相等,小於返回負值,大於返回正值

regionMatches:比較兩字串中的某一部分是否相等。示例:StringCompare.Java

查詢字串是否以某字串開頭和結尾:startsWith和endWith方法 。Demo: StringStartEnd.java

在字串查找字符或子串,調用indexOf和lastIndexOf方法即可。Demo:StringIndexMethods.java

課後作業1:字串加密

技術分享

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

請編寫一個程序,使用上述算法加密或解密用戶輸入的英文字串要求設計思想、程序流程圖、源代碼、結果截圖。(截止時間2017-10-27晚18:00)

設計思想:通過將字符串拆分,轉換為ascii碼的加減,再將其輸出

技術分享

//陳天時 20163591 信1605-3

package zichuanjiami;

import java.util.Scanner;

public class Zichuanjiami

{

public static void main(String[] args)

{

int key=3;

Scanner input=new Scanner(System.in);

System.out.print("請輸入要加密的字符串:");

String string=input.nextLine();

char[] str=new char[string.length()];

String jiami=" ";

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

{

char s=string.charAt(i);

if(s>=‘x‘&&s<=‘z‘)

{

s=(char) (s-26);

s=(char) (s+key);

}

else

{

s=(char) (s+key);

}

jiami=jiami+s;

}

System.out.println("加密後的字符串為:"+jiami);

}

}

技術分享

String str=”abcd”

Length() 獲取字串長度

用法:str.length()=4 獲取字串長度(int類型)

charAt()、獲取指定位置的字符

用法:

str.charAt(0)=”a”

str.charAt(1)=”b”

str.charAt(2)=”c”

str.charAt(3)=”d”

getChars()獲取從指定位置起的子串復制到字符數組中(它有四個參數,在示例中有介紹)

用法:

//四個參數的含義

//1.被拷貝字符在字串中的起始位置

//2.被拷貝的最後一個字符在字串中的下標再加1

//3.目標字符數組

//4.拷貝的字符放在字符數組中的起始下標

public void getChars(int start,int end,char c[],int offset)

該方法的作用是將當前字符串從start到end-1位置上的字符復制到字符數組c中,並從c的offset處開始存放

eg:public class class6_2

{

public static void main(String args[])

{

String s=new String("巴西足球隊擊敗德國足球隊");

char[] c=new char[s.length()];

s.getChars(7,12,c,0);

System.out.println(c);

s.getChars(5,7,c,5);

System.out.println(c);

s.getChars(0,5,c,7);

System.out.println(c);

}

}

運行以後的結果為

德國足球隊

德國足球隊擊敗

德國最球隊擊敗巴西足球隊

replace()、子串替換

用法:

public class Test {

public static void main(String args[]) {

String Str = new String("hello");

System.out.print("返回值 :" );

System.out.println(Str.replace(‘o‘, ‘T‘));

System.out.print("返回值 :" );

System.out.println(Str.replace(‘l‘, ‘D‘));

}

}

返回值 :hellT

返回值 :heDD

toLowerCase()方法

一、說明:把輸入字符串中的大寫字母全部變成小寫字符。
二、實例:
var str = “JavaScript”;
var newStr = str.toLowerCase();
註意:對中文沒影響;
toUpperCase()方法

一、說明:把輸入字符串中的小寫字母全部變成大寫字符。
二、實例:
var str = “JavaScript”;
var newStr = str.toUpperCase();
註意:對中文沒影響

trim()去除頭尾空格:

用法:

String s=" abc ";
String s2=s.trim();

s2="abc"

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

public class MyTest1

{

public static void main(String[] args) {
String str = "I am a String";
char arr[] = str.toCharArray();
for (int i = 0; i < arr.length; i++)
System.out.println("arr[" + i + "]=" + arr[i]);
}
}

課堂作業04 2017.10.27