2017-02-14 5 views
1

私は初心者Javaです&今週私のプロジェクトには多くのプログラムが割り当てられています。しかし、これは私を長い間混乱させています。私はそれのためのコードを書いたが、は結果を表示していないです。構文エラーbtwはありません!ありがとうございました!文章を受け入れて、素数の長さが逆の言葉だけを印刷します。

import java.util.*; 
import java.lang.*; 

public class primeWord_reverser 
{ 

    public static void main(String[] args) 
    { 
     Scanner sc = new Scanner(System.in); 
     int i,p,flag=0; 

     System.out.println("Enter the sentence:"); 
     String SEN=sc.next();                                                                              
     SEN=SEN.toUpperCase(); 
     SEN=SEN+" "; 

     int L=SEN.length(); 

     StringBuilder fnalS= new StringBuilder(""); 
     StringBuilder finalS=new StringBuilder(""); 
     for(i=0;i<L-1;i++) 
     { 
      char chr=SEN.charAt(i); 
      if (chr!=' ') 
      { 
        fnalS.insert(fnalS.length(),chr); 
      } 
      else if(chr==' ') 
      { 
       int LfnalS=fnalS.length(); 
       int m=LfnalS/2; 

       for(p=2;p<=m;p++) 
       {  
        if(LfnalS%p==0) 
         {   
         flag++; 
         }  
       } 

       if(flag==0)  
         { 
         fnalS.reverse(); 
         finalS.append(" "+fnalS); 
         } 

        else if(flag>0) 
         { 
         finalS.append(" "+fnalS); 
         } 
        fnalS=new StringBuilder(""); 
        flag=0; 
       }  
     } 
     System.out.println("the sentence is: "+finalS); 
    } 
} 
+1

何が出力されますか? –

+0

+ Luud van Keulen何もない! – user58736

+0

それで、「文章を入力してください:」ということさえありません。 –

答えて

1

のあなたのコードに変更してみてください:

String SEN = sc.nextLine(); 

String SEN = sc.next(); 

をループのためにあなたの-1を削除します。

for(i=0;i<L-1;i++) 

for(i=0;i<L;i++) 
+0

それは働いた!そんなに小さな間違いだったとは信じられない!どうもありがとう! :) – user58736

+0

私の答えが他人に知らせるのが正しければチェックしてください、ありがとう:) – msagala25

+0

うん!私はその後にコメントを書いた! ;) – user58736

関連する問題