Java
자바의 신 ch15 String
langsamUndStetig
2022. 5. 11. 19:36

public class UseStringMethods {
public static void main(String[] args) {
UseStringMethods sample = new UseStringMethods();
String str = "The String class represents character strings.";
sample.printWords(str);
sample.findString(str, "string");
sample.findAnyCaseString(str, "string");
sample.countChar(str, 's');
sample.printContainWords(str, "ss");
}
public void printWords(String str) {
//JAVA API DOCUMENT에서 String 타입 배열이어서 이렇게 사용함.
String[] arrays = str.split(" ");
for (String array:arrays) {
System.out.println(array);
}
}
public void findString(String str, String findStr) {
// indexOf 같은 경우는 몇번째에 위치하는지 알려주는 것이어서 int타입으로 받음.
int x = str.indexOf(findStr);
System.out.println(findStr + " is appeared at " + x);
}
public void findAnyCaseString(String str, String findStr) {
//처음엔 str = str.toLowerCase()로 나눠서 했는데, 생각해보니 아래처럼 하는게 더 나을듯 해서 바꿈.
int x = str.toLowerCase().indexOf(findStr);
System.out.println(findStr + " is appeared at " + x);
}
public void countChar(String str, char c) {
// char c 가 포함된 경우에만 숫자가 증가해야하기 때문에 int countNum을 만들어서 명시적 초기화를 해줬고
// toCharArray 는 char타입 배열로 받아주고
// for문울 사용해서 배열의 요소와 char c 가 같은지 확인하고, 같으면 countNum+1;
int countNum = 0;
char[] characters = str.toCharArray();
for(char character:characters) {
if(character == c) {
countNum++;
}
}
System.out.println("char '"+c+"' count is " + countNum);
}
public void printContainWords(String str, String findStr) {
// contains()는 boolean 메소드여서 true가 나올경우만 아래 문장이 나오도록 했음
String[] arrays = str.split(" ");
for(String array:arrays) {
if(array.contains(findStr)){
System.out.println(array + " contains " + findStr);
}
}
}
}
