0
这是一个基本名称排序程序。除了用户不能输入名字这一事实以外,一切都有效。这是代码:扫描仪跳过循环中的第一个输入Java
public static void main(String args[]){
Scanner sc = new Scanner(System.in);
System.out.println("How many names do you want to sort");
int num = sc.nextInt();
String[] names = new String[num];
for (int x = 0; x < names.length; x++){
int pos = x+1;
System.out.println("Enter name " + pos);
//String temp = sc.nextLine();
names[x] = sc.nextLine();
}
String sortedArray[] = sort(names);
for (int i = 0; i < sortedArray.length; i++){
System.out.print(sortedArray[i] + " ");
}
}
更新:我改变了代码,所以如果它是第一次时,它调用sc.nextLine(),然后将输入等于名称[0] 一个问题的.next ()是,如果一个人的名字是两个单词将其视为两个名字。这是更新的代码工作:
public static void main(String args[]) {
Scanner sc = new Scanner(System.in);
System.out.println("How many names do you want to sort");
int num = sc.nextInt();
String[] names = new String[num];
//String[] temp = new String[names.length];
for (int x = 0; x < names.length; x++) {
int pos = x + 1;
if (x == 0) {
System.out.println("Enter name 1");
sc.nextLine();
names[0] = sc.nextLine();
} else {
System.out.println("Enter name " + pos);
//String temp = sc.nextLine();
names[x] = sc.nextLine();
}
}
String sortedArray[] = sort(names);
for (int i = 0; i < sortedArray.length; i++) {
System.out.print(sortedArray[i] + " ");
}
}
你有你的答案,如果没有的话,请写你的答案,这样其他的可以从中受益。 stackoverflow.com/help/accepted-answer – hagrawal