Ich habe eine Quizseite namens Code Nachara ausprobiert. Unten ist die Antwort, die ich damals gemacht habe. Ich bin in der hasNext () -Methode in der Scanner-Klasse stecken geblieben. Wenn Sie eine Standardeingabe als Scan-Ziel ausführen, gibt die Funktion hasNext () nur dann false zurück, wenn die Eingabe am Ende der Standardeingabe ordnungsgemäß mit Strg + z beendet wird. Wenn Sie es daher nicht richtig beenden, verlassen Sie die Schleife nicht.
Es ist lange her, ohne es zu merken ...
das ist alles
package questions;
import java.util.Scanner;
class Main {
public static void main(String[] args) {
int count = 1;
int member = 0;
String input = null;
double resultAvgs[] = new double[12];
try{
Scanner scanner = new Scanner(System.in);
// resultAvgs[]Speichern in
while(scanner.hasNext()){
input = scanner.nextLine();
resultAvgs[member] = calcAvrg(input);
member += 1;
}
for(int i=0; i<member; i++){
for(int j=0; j<member; j++){
if(i==j){
continue;
}else{
if(resultAvgs[i] >= resultAvgs[j]){
//Wenn es einen kleinen Wert gibt, lassen Sie einen Rang fallen
count += 1;
}
}
}
System.out.println(count);
//Initialisieren
count = 1;
}
scanner.close();
}catch(NullPointerException e){
e.printStackTrace();
}
}
//Lesen Sie das Rennergebnis und berechnen Sie den Harmonie-Durchschnitt
static double calcAvrg(String in) {
double total = 0;
String[] results = in.split(" ", 0);
for (String result : results) {
double buff = 1 / Double.parseDouble(result);
total += buff;
}
return results.length / total;
}
}
Recommended Posts