자바 간단한 회문 알고리즘

알고리즘이 필요

문자열이 있는지 여부를 확인하는 프로그램 쓰기 "회문을." 팔린 드롬 서열 문자열 백 (중심 대칭성)로부터 뒤쪽으로 앞과 일치한다.

알고리즘의 생각

첫째, 두 씩 주변의 문자열, 대칭 문자는 각 비교를 위해 동일 이어

코드 구현

import java.util.Scanner;

public class Palindrome {

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        while (!sc.hasNext("###")) {
            String data = sc.next();
            if (isPalin(data)) {
                System.out.println("yes");
            } else {
                System.out.println("no");
            }
        }
        sc.close();
    }

    public static boolean isPalin(String data) {
        int len = data.length();
        for (int i = 0; i < len/2; i++) {
            if (data.charAt(i) != data.charAt(len-1-i)) {
                return false;
            }
        }
        return true;
    }

}

테스트 케이스

abc
no
qwq
yes
abcdcba
yes

1 == 같고

== 연산자 실행 규칙

  • 변수의 기본 데이터 유형은 가치가 더있는 경우
  • 이 참조 형 변수의 경우, 그들이 주소를 가리 개체를 비교

메소드 실행 규칙과 동일

  • 원래있어서, 상기 객체의 어드레스 비교 참조 형 가변 점 같다
  • 방법이 시간에 다시 작성되었습니다 같음에 따라 등 문자열, 날짜, 오브젝트의 내용이 지적 비교

추신 : 방법은 상기베이스 클래스 개체의 방법과 동일 개의 오브젝트 참조, 즉 같은지 비교하는 동일한 개체인지

문의 : 자바 이야기는 동일하고 == https://www.cnblogs.com/dolphin0520/p/3592500.html

2 sc.hasNext ()는 입력 된 복수 개의 세트를 구현

!sc.hasNext("###")  // 匹配 ### 返回true,然后取非运算。即以 ### 作为停止输入的命令

hasNext ()와 사실 다음 () 효과는 시스템이 다음 입력 문자를 기다립니다, 동일하지만, 다른 값을 반환 hasNext ()는 (), 사실 다음 반환 입력 한 문자를 반환합니다. 다음 매개 변수는 문자이고 매개 변수 값이 일치 할 때 hasNext은 (true를 반환)합니다.

문의 : hasNext 스캐너의 () 메소드 https://blog.csdn.net/gao_zhennan/article/details/80562548

추천

출처www.cnblogs.com/lanselove/p/10974550.html