2017-12-05 11 views
-1

に悪いオペランドのタイプここでは、コードエラー:二項演算&&

import java.io.*; 
class WORD2 
{ 
public void main() throws IOException 
{ 
     BufferedReader br=new BufferedReader(new InputStreamReader(System.in)); 
     System.out.println("Enter the sentence"); 
     String str=br.readLine().toUpperCase()+" "; 
     int l=str.length(); 
     String word=""; 
     int p=0; 
     String word2[]=new String[l]; 
     for(int i=0;i<str.length();i++) 
     { 
      char ch=str.charAt(i); 
      **if((str.charAt(i))&&(str.charAt(i+1)!= ' '))**// THE ERROR COMES IN THIS STATEMNET SHOWING THE ERROR 
      { 
       if(ch!=' ') 
       { 
        word=word+ch; //TAKING EACH WORD 
       } 
       else 
       { 
        word2[p++]=word; //STORING EACH WORD 
        word=""; 
       } 

     }} 
     String q=""; 
      for(int k=0;k<p;k++) 
      { 
       q=q+word2[k]+" "; 
      } 
      System.out.print("q="+q); 
     }} 

ITSは文中の単語間の不要な空白を削除するプログラムです。

答えて

0
if((str.charAt(i)!= ' ')&&(str.charAt(i+1)!= ' ')) 

IFを検討するブール値(真/偽)を必要とするので、正しい構文です。 最初の部分はcharを返します。 また、str.charAt(i + 1)をチェックすると、StringIndexOutOfBoundsExceptionが返されます。

+0

ありがとうございました –