[Java] Le contrôle des compétences de Paiza est obstrué par D si vous ne pouvez pas maîtriser l'entrée standard

Aperçu

Depuis que j'ai progressé légèrement et que je n'ai aucune expérience Java, je résous le problème de vérification des compétences de paiza dans la formation, mais je ferai une note car il s'est coincé dans un endroit inattendu le premier jour.

Dès que vous commencez le contrôle des compétences

La lettre N est saisie, donc la sortie N

Vous serez informé du contenu.

Sortie avec System.out.print ~ et vous avez terminé! je pense Ce serait une erreur de l'écrire tel quel.

Contrairement à Progate, qui est suivi de différentes manières Lors du contrôle des compétences, vous devez également lire les valeurs entrées ici. Si vous ne savez pas comment "lire la valeur d'entrée" ici, paiza ne peut même pas obtenir le rang D.

Méthode

Parce que c'est facile, voyez-vous l 'explication de l'entrée standard Java publiée sur youtube? Vous pouvez le comprendre en regardant paiza learning, mais comme c'est un gros problème, j'écrirai comment l'utiliser.

Dans le cas d'un problème comme le début, c'est une lettre

//Définir des variables
Scanner sc = new Scanner(System.in);
//Obtenir une chaîne
String t = sc.nextLine();

Si vous le lisez avec ceci, vous pouvez le sortir.

Lorsqu'un nombre est entré

Dans le cas des nombres, c'est presque la même chose.

//Obtenez des numéros
int t = sc.nextInt();

Notez que c'est "next Int".

Lisez un par un

Par exemple, supposons qu'un caractère est donné sous la forme d'une ligne, N B, et doit être N + B.

N B

Dans ce cas, si vous utilisez nextLine ();, N et B seront lus ensemble. Il semble bon d'utiliser next ();.

//Lire N
String x = sc.next();
//Lire B
String y = sc.next();

Puisque next () lit jusqu'à des espaces demi-largeur, il peut être pseudo-fractionné sans utiliser split. Vous pouvez l'utiliser de la même manière pour les nombres.

Lire plusieurs lignes

Supposons que vous receviez le numéro 1 sur la première ligne et la lettre N sur la deuxième ligne.

1 N

Dans ce cas, il semble bon de les obtenir avec nextInt (); et nextLine ();, respectivement. Ecrire tel quel entraînera une erreur.

//Exemple d'erreur
int t = sc.nextInt();
String a = sc.nextLine();

Puisque nextInt () lit un entier, le caractère de saut de ligne est en fait laissé derrière. Avec ce processus, la deuxième ligne ne peut pas être lue. Vous devez donc ajouter nextLine () et l'ignorer.

//Lire l'entier sur la première ligne
int t = sc.nextInt();
//Passer le caractère de saut de ligne
sc.nextLine();
//Lisez les lettres sur la deuxième ligne
String a = sc.nextLine();

paiza a pas mal de problèmes de ce type, il vaut donc la peine de s'en souvenir. Je ne savais pas pourquoi cela ne fonctionnait pas, alors j'étais assez coincé ...

Vous pouvez également l'obtenir sous forme de liste, mais si vous pouvez obtenir les valeurs et les caractères correctement Après cela, vous pouvez vous concentrer sur le traitement de la logique. Il est important d'imaginer comment fonctionnent respectivement nextLine () ;, next (); et nextInt ();.

Résumé

C'est une histoire simple pour ceux qui la connaissent. Peut-être parce que j'apprenais en m'appuyant sur Progate et les livres, je suis tombé sur une partie inattendue, alors j'espère que ce sera utile. Selon mes aînés, il semble que ce n'est pas souvent utilisé dans le domaine réel, mais c'est une connaissance importante pour saisir le contrôle de compétence de paiza.

Recommended Posts

[Java] Le contrôle des compétences de Paiza est obstrué par D si vous ne pouvez pas maîtriser l'entrée standard
récapitulatif des entrées / sorties standard de vérification des compétences paiza [édition Java]
[Rails] Si CSS n'est pas appliqué dans collection_select, vérifiez si vous pouvez spécifier la classe.
[Bonne nouvelle] Vous pouvez toujours utiliser Java 8 !!