J'ai essayé un site de quiz appelé Code Nachara. Voici la réponse que j'ai faite à ce moment-là. Je suis resté coincé dans la méthode hasNext () dans la classe Scanner. Lors de l'exécution d'une entrée standard en tant que cible d'analyse, la fonction hasNext () ne retournera pas false à moins que l'entrée ne se termine correctement par Ctrl + z à la fin de l'entrée standard. Par conséquent, si vous ne le terminez pas correctement, vous ne sortirez pas de la boucle.
Ça faisait longtemps sans s'en apercevoir ...
c'est tout
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[]Stocker dans
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]){
//S'il y a une petite valeur, supprimez un rang
count += 1;
}
}
}
System.out.println(count);
//Initialisation
count = 1;
}
scanner.close();
}catch(NullPointerException e){
e.printStackTrace();
}
}
//Lisez le résultat de la course et calculez la moyenne d'harmonie
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