본문 바로가기

국비교육/국비교육 복습

day14_api.lang.String_Test03 : length(), contains(String str), indexOf(String str), lastIndexOf(String str) (★)

사용자에게 프로그램에서 사용할 닉네임을 입력받을 예정입니다

  • 닉네임은 2글자 이상 10글자 이내로 설정해야 합니다
  • 닉네임에는 절대로 운영자라는 글자가 포함될 수 없습니다
  • 위의 경우에 해당한다면 잘못된 닉네임 형식입니다 출력, 아니면 닉네임 설정 완료 출력

메인 메소드 (1) - length()와 contains(String str) 사용

package day14_api.lang.String;

import java.util.Scanner;

public class Test03 {

	public static void main(String[] args) {
		
		Scanner sc = new Scanner(System.in);
		
		// 입력
		System.out.println("닉네임을 입력해주세요");
		String nickname = sc.next();
		sc.close();
		
		// 판정
		boolean number = nickname.length() >= 2 && nickname.length() <= 10;
		boolean exclusion = !nickname.contains("운영자");		
		// 1) 포함하지 '않는다'를 위해 !(부정 연산자) 사용
		// 2) 특정 String을 포함하는지 여부(true/false)를 반환하는 변수명.contains 사용
		
		// 출력
		if(number & exclusion) {
			System.out.println("닉네임 설정 완료");
		}
		else {
			System.out.println("잘못된 닉네임 형식입니다");
		}
	}
}

 

.length()

- 문자열의 길이를 반환 (int)

변수명.length()

 

.contains(String str)

- 문자열에 특정 문자열이 포함되어있는지를 반환 (boolean) 

변수명.contains(특정 문자열)

 

메인 메소드 (2) - length()와 indexOf(String str) 사용

package day14_api.lang.String;

import java.util.Scanner;

public class Test03_1 {

	public static void main(String[] args) {
		
		Scanner sc = new Scanner(System.in);
		
		// 입력
		System.out.println("닉네임을 입력해주세요");
		String nickname = sc.next();
		sc.close();
		
		// 판정
		boolean number = nickname.length() >= 2 && nickname.length() <= 10;
		boolean exclusion = nickname.indexOf("운영자") == -1;
		// .indexOf : 앞에서부터 문자열을 조사해서 특정 String이 포함되어 있으면 그 시작점 index를 출력
		//	      만약 포함하지 않는다면 -1을 반환
		
		// 출력
		if(number & exclusion) {
			System.out.println("닉네임 설정 완료");
		}
		else {
			System.out.println("잘못된 닉네임 형식입니다");
		}
	}
}

 

.indexOf(String str)

- 문자열을 앞에서부터 조사해서 특정 문자열을 포함하면 해당 문자열의 시작점 index를 반환 (int)

- 만약 해당 문자열을 포함하지 않는다면 -1을 반환

변수명.indexOf(특정 문자열)

 

 

** 추가

 

.lastIndexOf(String str)

- 문자열을 앞에서부터 조사해서 특정 문자열을 한 개 이상 포함하면 해당 문자열의 가장 마지막 시작점 index를 반환 (int)
- 만약 해당 문자열을 포함하지 않는다면 -1을 반환

변수명.lastIndexOf(특정 문자열)