String類的實踐操作
題目分析流程圖:
即:
1.先通過contains()方法判斷是否含有該子串,沒有則不需要再進行下面的操作;
2.通過subString(S1.indexof(S2)+1)取得子串後,用indexof(S2)進行判斷
實驗源代碼:
package Example;
import java.util.Scanner;
class SubNum{
String s1;// 原始字符串
String s2;// 子串
int num=0;// 計時器
int Num(){
if(s1.contains(s2)){
while(s1.indexOf(s2)!=-1&&s1!=null){
int loc = s1.indexOf(s2);
num++;
s1 = s1.substring(loc+1);
}
}
return num;
}
}
public class strings{
public static void main(String[] args){
Scanner in = new Scanner(System.in);
SubNum test = new SubNum();
System.out.println("Please Enter The Original String:");
test.s1 = in.next();
System.out.println("Please Enter The SubString:");
test.s2 = in.next();
System.out.println("The Numbers of the SubString is:"+test.Num());
}
}
代碼運行結果:
分析:
1.將字符串轉爲字符數組:String[] a = s.split(" “);
2.將字符數組轉爲整型數組:for(int i=0;i<a.length;i++) b[i] = Integer.parseInt(a[i]);// 利用封裝類,進行類型轉換
3.對整型數組排序:Arrays.sort(b);
4.將數組拼接成字符串:for(int i:b) s2 = s2.concat(i+” ");
實驗二源代碼:
package Example;
import java.util.Scanner;
import java.lang.reflect.Array;
import java.util.Arrays;
import javax.swing.JOptionPane;
import javax.swing.plaf.basic.BasicBorders.SplitPaneBorder;
class Sort{
String s;
void sort(){
String[] a = s.split(" ");
int[] b = new int[a.length];
String s2 = new String();
for(int i=0;i<a.length;i++) b[i] = Integer.parseInt(a[i]);
Arrays.sort(b);
for(int i:b){
s2 = s2.concat(i+" ");
}
System.out.println(s2);
}
}
public class Strings2 {
public static void main(String[] args) {
Sort one = new Sort();
Scanner in = new Scanner(System.in);
one.s = JOptionPane.showInputDialog(null,"Separated by Spaces","Please Enter a Integer String",JOptionPane.QUESTION_MESSAGE);
// System.out.println("Please Enter a Integer String(Separated by Spaces):");
// one.s = in.nextLine();
one.sort();
}
}
代碼運行結果: