我的代码并未将第一个字符串作为输入。相反,它直接从第二个开始。任何人都可以告诉我,我在做什么'错?
import java.util.Scanner;
import java.util.Arrays;
class StrSort
{
public static void main(String args[])
{
int size;
Scanner s=new Scanner(System.in);
System.out.print("\nEnter the size of the array : ");
size=s.nextInt();
String[] array=new String[size];
int i;
for(i=0;i<size;i++)
{
System.out.print("\nEnter string "+(i+1)+" : ");
array[i]=s.nextLine();
}
Arrays.sort(array);
System.out.print("\nStrings are sorted.");
for(i=0;i<size;i++)
{
System.out.print("\nString "+(i+1)+" : "+array[i]);
}
}
}
答案 0 :(得分:0)
问题是大小之后的换行没有消耗。
import java.util.Scanner;
import java.util.Arrays;
class StrSort
{
public static void main(String args[])
{
int size;
Scanner s=new Scanner(System.in);
System.out.print("\nEnter the size of the array : ");
size=s.nextInt();
s.nextLine(); // Consume newline left-over
String[] array=new String[size];
int i;
for(i=0;i<size;i++)
{
System.out.print("\nEnter string "+(i+1)+" : ");
array[i]=s.nextLine();
}
Arrays.sort(array);
System.out.print("\nStrings are sorted.");
for(i=0;i<size;i++)
{
System.out.print("\nString "+(i+1)+" : "+array[i]);
}
}
}