2013-10-21 53 views
0

我有一些文件fullnames像如果多個條件的Java

伊麗莎白·史密斯布朗李xial平

我的任務是檢查(名字和middlenamr)之間的字符(中間名和姓氏)

我發現距離通過使用一些其它framework.Now我檢查字符串之間的字符,如foloowing

if (distancebetweenmiddlenameandfirstname==1&distancebetweenfamilynameandmiddlename==1) 
    { 
     fis.skip(fn.end); 
     n = fis.read();//Reading character between firstname and middlename 
     c = (char)n; 
     fis.skip(mn.end); 
     l = fis.read();//Reading character between middlename and lastname 
     ch = (char)l; 
     if((c=='-'||c==' '|| c==','||c=='_')&(ch==' '||ch==','||ch='-')) 
       { 
        ---------------------------- 
        ---------------------------- 
       } 

名稱實際上是由空格分隔的,但是if條件無法獲取名稱。 我是否需要使用嵌套if?或者任何其他方式來做到這一點?

+0

您是如何確定「中間名和第一名」與「家族名和中間名之間的距離」的?你也可以把一個調試器,並確認你正在爲這兩個值得到什麼? – user2720864

+0

我通過使用UIMA框架找到了遠端。距離沒有問題。但是我只是發現Fileinputstream閱讀空間爲問號。我應該驗證爲什麼?而不是space.I認爲我跳過文件兩次,並閱讀.. – user2814979

+0

你可能要考慮看​​看[這裏](http://www.velocityreviews.com/forums/t683897-how-do-i- read-and-write-a-file-using-utf8.html) – user2720864

回答

1

如果條件爲'AND',則使用'& &'。

在Java中,'&'是一個按位運算符。

+0

仍然不起作用。 – user2814979

0

您需要使用& &不僅&,因爲適當的方式作出,並在Java中使用& &,而不是隻有單一的一個

讓你的代碼看起來像這樣

if (distancebetweenmiddlenameandfirstname == 1 && distancebetweenfamilynameandmiddlename == 1) 
+0

我用&&試了兩個條件。但條件不滿足 – user2814979

+0

它讓你進入if語句? 並且您確定中間名和名字以及家族名和中間名之間的距離爲1? –

0

你說你發現了一些其他的框架的距離。

您確定您正在測試的這些變量的值?

這些變量是如何聲明的(什麼類型或類)?

你確定兩個變量都包含1嗎?

+0

我通過使用UIMA框架找到了遠端。距離沒有問題。但是我發現Fileinputstream閱讀空間是問號。我應該驗證爲什麼?而不是空間... – user2814979

+0

您不能說「距離沒有問題」,因爲您的問題是檢查這些值或計算它們。而一個「if」非常簡單... – gillup