簡體   English   中英

Palindrome Checker Java布爾洞察力

[英]Palindrome Checker Java boolean insight

所以我在java中制作了一個回文檢查器,我似乎遇到了障礙,這是我的代碼到目前為止:

public class StringUtil
{

public static void main(String[] args)
{
    System.out.println("Welcome to String Util.");       
    Scanner word = new Scanner(System.in);

    String X = word.nextLine();       
    String R = palindrome(X);

    System.out.println();
    System.out.println("Original Word: " + X);     
    System.out.println("Palindrome: " + R);



}


public static boolean palindrome(String word)
{
   int t = word.length(); //length of the word as a number
   int r = 0;


   if(word.charAt(t) == word.charAt(r))
   {
       return true;
    }
    else
    return false;
}

到目前為止我只想檢查第一個字母是否與最后一個字母相同,但是當我編譯它時,我在“String R = palindrome(X);”上得到了一個不兼容的類型錯誤。 如何讓它在下面的輸出語句中打印true或false?

你的palindrome方法返回一個boolean ,但是你試圖將它分配給一個String R變量的定義更改為boolean

由於字符在java中的字符串(或數組)中被索引為0,因此最后一個字符的長度為1

嘗試

int t = word.length() - 1;

哎呀,這不是你遇到的問題。 但是,一旦解決了類型錯誤,您會立即注意到它。

word.charAt(t - 1),否則你超過了字符串,也返回“true”; 如果你想使用String作為結果類型,則返回“false”;

import java.util.regex.Matcher;
import java.util.regex.Pattern;

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

        // String to be scanned to find the pattern.
        String line = "This order was placed for QT3000! OK?";
        String pattern = "(.*)(\\d+)(.*)";

        // Create a Pattern object
        Pattern r = Pattern.compile(pattern);

        // Now create matcher object.
        Matcher m = r.matcher(line);
        if (m.find()) {
            System.out.println("Found value: " + m.group(0));
            System.out.println("Found value: " + m.group(1));
            System.out.println("Found value: " + m.group(2));
        } else {
            System.out.println("NO MATCH");
        }
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM