我需要让用户在变量n
中输入数组的大小,然后创建一个单维数组的字符串,并用句子填充它。我还需要确保每个句子以句号结束(.
)。所以这就是我所拥有的:
import java.util.*;
class encryption{
void main(){
Scanner sc=new Scanner(System.in);
System.out.println("Enter the number of sentences to be encrypted");
int n=sc.nextInt();
String[] a=new String[n];
System.out.println("Enter the sentences");
for(int i=0; i<n; i++){
a[i]=sc.nextLine();
while(a[i].charAt(a[i].length()-1)!='.'){
a[i]=sc.nextLine();
}
if(i%2==0){
a[i]=rev(a[i]);
}
else{
a[i]=frwd(a[i]);
}
}
for(int i=0; i<n; i++){
System.out.println(a[i]);
}
}
在输入之后,我将使用函数rev(...)
和frwd(...)
处理字符串,然后打印更改的字符串。
它编译得很好,但是在执行时,第一个for
循环a[i]=sc.nextLine();
中的第一行似乎不起作用。它给我一个直的indexOutOfBounds
错误,意味着它直接进入while
循环。
如何让它接受输入?
答案 0 :(得分:0)
在你取变量n中的句子数后, 写下这行代码:
int n=sc.nextInt();
sc.nextLine();