2014-04-07 62 views
1

,所以我學習Java在上大學,我仍然在初級水平我這麼光禿禿的。我遇到了一個描述以下內容的問題...與Java練習大學(絃樂)有麻煩

給定兩個字符串,如果其中任一字符串出現在另一個字符串的末尾,則忽略大寫/小寫字母差異(換句話說,計算結果不應該是「區分大小寫」)。

行,所以我已經確定,我需要讓兩個字符串的輸入。然後我假設我需要一個if/else語句,其中if檢查這兩個字符串是否使用IgnoreCase查看其他字符串的字符是否出現在該字符串的末尾。如果string有末另一個字符串,打印真正

,然後其他的字符,打印假的。

我知道如何輸入兩個字符串,並實施的if else語句,我的問題是,我怎麼掃描,看看一個字符串是否包含另一個字符串的內容?以及如何指定它必須在字符串的末尾找到。 IE瀏覽器。

"Hiabc", "abc" -> true             
"AbC", "HiaBc" -> true             
"abc", "abXabc" -> true             
"abc", "abXaXc" -> false 

我檢查了許多在線教程,試圖找到這樣做的語法,但我似乎無法找到任何。

任何幫助,將不勝感激

+2

['字符串#startsWith'](http://docs.oracle.com/javase/7/docs/api/java/lang/String.html#startsWith(java.lang中.String)),['String#endsWith'](http://docs.oracle.com/javase/7/docs/api/java/lang/String.html#endsWith(java.lang.String))。您可能還需要考慮['字符串#toLowerCase'](http://docs.oracle.com/javase/7/docs/api/java/lang/String.html#toLowerCase()) – MadProgrammer

+1

HTTP:// WWW .java2s.com/Tutorial/Java/0040__數據類型/ CaseinsensitivecheckifaStringendswithaspecifiedsuffix.htm –

回答

0

不知道如果你被允許使用這些內置方法,但最容易做的事情是打電話String.endsWith(String)。不幸的是,它們沒有不區分大小寫的變體,所以只需將兩個字符串轉換爲小寫(或大寫,相同)。例如:

String str1Lower = str1.toLowerCase(); 
String str2Lower = str2.toLowerCase(); 
if (str1Lower.endsWith(str2Lower) || str2Lower.endsWith(str2Lower) { 
    System.out.println ("One of the strings is the end of the other"); 
} else { 
    System.out.println ("bummer."); 
} 
+0

很酷,我不知道.endsWith函數。這讓生活變得更加簡單!謝謝!爲什麼這不在大學的Java教程中或者我們需要知道的東西的語法列表中?我今天問了導師,他說這是一個完全有效的方法來解決問題。到目前爲止,我們已經學習了算術和布爾表達式,以及其他,並且目前正在做字符串,所以任何與這些語法相關的語法都是有效的。不期待下週迴路:( – user3505378

0
public static void main(String[] args) { 
    // TODO Auto-generated method stub 

    String s1="abc"; 
    String s2="zzzABC"; 

    s1 = s1.toUpperCase(); //remember string immutable so have to assign once again 
    s2 = s2.toUpperCase(); 

    if(s1.endsWith(s2) || s2.endsWith(s1)) 
     System.out.println("one of the string appears at the very end of others"); 

}