我是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);
}
}
答案 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++)