J'ai travaillé en tant qu'ingénieur jusqu'à maintenant, mais j'ai commencé à faire du prégramme de compétition parce que je pensais que c'était difficile à mettre en œuvre parce que c'était principalement dans le processus en amont. J'ai réussi à résoudre une question, mais je publierai un mémorandum de ce sur quoi j'ai trébuché.
Cette fois, j'écrirai sur l'entrée de données «Scanner».
Le score passé d'Atcode de 100 problème ... c'est-à-dire un problème simple.
https://atcoder.jp/contests/abc042/tasks/abc042_a
J'ai réussi à coder en regardant divers sites et je l'ai exécuté à partir du terminal vscode pour obtenir les résultats attendus. Ce qui suit est le contenu du code (probablement un code sale du point de vue d'un expert, mais pardonnez-moi s'il vous plaît ...)
public class Main {
public static void main(String args[]) {
String answer = "YES";
String[] haiku = args;
int sum = 0;
for(int i = 0; i < 3; i++){
if(haiku[i].equals("7") || haiku[i].equals("5")){
sum = sum + Integer.valueOf(haiku[i]);
System.out.println(sum);
}
else{
answer = "NO";
}
System.out.println(haiku[i]);
}
if(sum != 17){
answer = "NO";
}
System.out.println(answer);
}
}
Il semble que la méthode d'entrée était tout simplement inutile.
Quand je tape «Java Main X X X» dans le terminal, il est stocké dans le tableau «args» séparé par des espaces, donc j'ai pensé que c'était correct, mais je l'ai complètement mal compris.
Il est recommandé d'utiliser Scanner
pour obtenir le contenu d'entrée. Récupérez l'entrée à la partie next ();
et utilisez-la à nouveau pour obtenir la valeur d'entrée suivante.
Scanner sc = new Scanner(System.in);
int i = Integer.parseInt(sc.next());
J'ai refactoré le code plusieurs fois (je suis désolé je veux utiliser le terme ...) et j'ai réussi à le supprimer lol
import java.util.Scanner;
public class Main {
public static void main(String args[]) {
String answer = "YES";
Scanner s = new Scanner(System.in);
int sum = 0;
for(int i = 0; i < 3; i++){
int haiku = Integer.parseInt(s.next());
if(haiku == 7 || haiku == 5 ){
sum = sum + haiku;
}
else{
answer = "NO";
}
}
if(sum != 17){
answer = "NO";
}
System.out.println(answer);
}
}
https://qiita.com/p_shiki37/items/a0f6aac33bf60f5f65e4 https://uxmilk.jp/48686
Recommended Posts