1. 程式人生 > 其它 >JAVA實驗報告三

JAVA實驗報告三

Java實驗報告

完成時間 2021.10.15

實驗三String類的應用

一、實驗目的

(1)掌握類String類的使用;
(2)學會使用JDK幫助文件;

二、實驗內容

1.已知字串:"thisisatestofjava".按要求執行以下操作:(要求原始碼、結果截圖。)
1統計該字串中字母s出現的次數。
2統計該字串中子串“is”出現的次數。
3統計該字串中單詞“is”出現的次數。
4實現該字串的倒序輸出。

實驗原始碼:

package test3;
public class One {
public static void main(String[] args) {

        // TODO Auto-generated method stub

        int count=0;

        String s="this is a test of java";

        System.out.println((","+s+",").split("s").length-1);

        //方法一:split函式對字串s在"s"位置進行拆分,然後通過.length得到拆分後的字串的個數,減1得到"s"出現的次數

        char c[]=s.toCharArray();

        for(char e:c){

            if(e=='s'){

                count++;

            }

        }

        //方法二:用toCharArray函式將字串s變成字元陣列,用for each迴圈對字元陣列進行遍歷,判斷並計數

        System.out.println((","+s+",").split("is").length-1); //同上方法一

        System.out.println((","+s+",").split(" is ").length-1); //同上

        for (int i=c.length-1;i>= 0;i--) {

            System.out.print(c[i]);

        }

        //利用字元陣列下標遞減輸出

        StringBuffer buffer = new StringBuffer(s);

        System.out.println("\n"+buffer.reverse());

        //定義成一個StringBuffer類,用StringBuffer類中的reverse()方法直接倒序字串。

}

}

實驗結果:

2.請編寫一個程式,使用下述演算法加密或解密使用者輸入的英文字串。要求原始碼、結果截圖。

實驗原始碼:

package test3;

import java.util.Scanner;

public class Two {

public static void main(String[] args) {
    @SuppressWarnings("resource")
    Scanner s = new Scanner(System.in);
    System.out.println("輸入字串:");
    String r = s.nextLine();
    char t[] = new char[r.length()];
    t=r.toCharArray();
    int i;
    for (i=0;i<t.length;i++) {
        t[i]=(char)(t[i]+3);
    }
    String c=" ";
    for (i=0;i<r.length();i++) {
        c=c+t[i];
    }
    System.out.println("改變後的字串:"+c);
}

}
實驗結果:

3.已知字串“ddejidsEFALDFfnef23573ed”。輸出字串裡的大寫字母數,小寫英文字母數,非英文字母數。

實驗原始碼:

三、實驗過程(請自己調整格式)
package test3;

public class Three {
public static void main(String[] args) {

	int ABC = 0, abc = 0, other = 0;

	String s = "ddejidsEFALDFfnef2357 3ed";

	char c[] = s.toCharArray();

	for (char e : c) {

		if (e >= 'A' && e <= 'Z') {

			ABC++;

		}

		else if (e >= 'a' && e <= 'z') {

			abc++;

		}

		else {

			if (e != ' ') {

				other++;

			}

		}

	}

	System.out.print("大寫字母數:" + ABC + "\n小寫字母數:" + abc + "\n非英文字母數:" + other);

}

}

實驗結果: