接受一个句子并仅打印具有素数长度的反向词

时间:2017-02-14 07:45:40

标签: java primes stringbuilder

我是Java和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 :(得分:1)

尝试更改您的代码:

String SEN = sc.next();

String SEN = sc.nextLine();

并删除 for循环上的-1

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

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