2013-10-21 56 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