[英]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.