2017-12-05 2 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); 
     }} 

그에게 문장에서 단어 사이의 불필요한 빈 공간을 제거하는 프로그램입니다. IF는 고려 (참/거짓) 부울을 필요로하기 때문에

답변

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

는 올바른 구문입니다. 첫 번째 부분에서는 char을 반환합니다. 또한 str.charAt (i + 1)에서 확인하십시오. 그렇지 않으면 StringIndexOutOfBoundsException이 발생합니다!

+0

수정 해 주셔서 감사합니다. –

관련 문제