/* *(排序學生)編寫一個程序,提示用戶輸入學生的分數數量, *學生的名字,並打印學生的名字在降低 *順序的分數。 */以相同的輸出兩倍
package homework6_17;
import java.util.Scanner;
public class Homework6_17 {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.print("Enter number of students: ");
int numberOfStudents = input.nextInt();
String[] names = new String[numberOfStudents];
for (int i = 0; i < numberOfStudents; i++) {
System.out.println("Enter the name of student: ");
names[i] = input.nextLine();
}
double[] scores = new double[numberOfStudents];
for (int i = 0; i < numberOfStudents; i++) {
System.out.println("Enter the score of student: ");
scores[i] = input.nextDouble();
}
String temps = "";
double temp = 0;
double max = scores[0];
for(int i = 0; i<(scores.length-1); i++){
if(scores[i+1]>scores[i]){
temp=scores[i+1];
scores[i]=scores[i+1];
scores[i+1]=scores[i];
temps = names[i+1];
names[i]=names[i+1];
names[i+1]=names[i];
}
}
for(int i = 0 ; i<(scores.length-1); i++)
System.out.println(names[i]+ " " + scores[i]);
}
}
當我運行這個程序; 運行:
學生輸入數字:3
輸入學生的名字: 輸入學生的名字: 一個
輸入學生的名字: b
進入學生分數: c
Exception in thread "main" java.util.InputMismatchException
//我得到了「輸入學生的名字:」兩次而不是一次。
此外,如果你想知道爲什麼它打印它的第一個是是System.out.print'的方式()'第二個是'System.out.println()',它打印一個新行。 –