Accueil Finances personnelles Programmation java: Lecture d'une ligne à la fois - les nuls

Programmation java: Lecture d'une ligne à la fois - les nuls

Vidéo: APPRENDRE LE JAVA #15 - LES FICHIERS 2025

Vidéo: APPRENDRE LE JAVA #15 - LES FICHIERS 2025
Anonim

Dans cette liste de code Java, La méthode payOneEmployee illustre quelques astuces utiles pour lire les données. En particulier, chaque scanner que vous créez possède une méthode nextLine. (Vous ne pouvez pas utiliser cette méthode nextLine, mais la méthode est néanmoins disponible.)

Lorsque vous appelez la méthode nextLine d'un scanner, la méthode saisit tout jusqu'à la fin de la ligne de texte en cours. Dans cette liste, un appel à nextLine peut lire une ligne entière à partir de EmployeeInfo. fichier txt. (Dans un autre programme, l'appel nextLine d'un scanner peut lire tout ce que l'utilisateur tape sur le clavier jusqu'à l'appui sur la touche Entrée.)

import java. util. Scanner; importer Java. io. Fichier; importer Java. io. IOException; public class DoPayroll {public static void principal (String args []) throws IOException {Scanner diskScanner = nouveau Scanner (nouveau fichier ("EmployeeInfo.txt")); pour (int empNum = 1; empNum <= 3; empNum ++) {payOneEmployee (diskScanner);} diskScanner. close ();} static void payOneEmployee (Scanner aScanner) {Employé anEmployé = new Employé (); un employé. setName (aScanner, nextLine ()); un employé. setJobTitle (aScanner, nextLine ()); un employé. cutCheck (aScanner, nextDouble ()); un Scanner. nextLine ();}}

Notez le choix judicieux des mots: nextLine lit tout jusqu'à la fin de la ligne courante. Malheureusement, ce que signifie lire jusqu'à la fin de la ligne actuelle n'est pas toujours ce que vous pensez que cela signifie. L'entremêlement des appels nextInt, nextDouble et nextLine peut être désordonné. Vous devez regarder ce que vous faites et vérifier attentivement la sortie de votre programme.

Pour comprendre tout cela, vous devez être douloureusement conscient des sauts de ligne d'un fichier de données. Pensez à un saut de ligne en tant que caractère supplémentaire, coincé entre une ligne de texte et la suivante. Imaginez ensuite qu'appeler nextLine signifie lire tout jusqu'à et y compris le saut de ligne suivant.

Jetez un coup d'œil à ce chiffre.

  • Si un appel à nextLine lit Barry Burd [LineBreak], l'appel suivant à nextLine indique CEO [LineBreak].

  • Si un appel à nextDouble lit le numéro 5000. 00, l'appel suivant à nextLine lit le [LineBreak] qui vient immédiatement après le numéro 5000. 00. (C'est tout le nextLine lit - un [LineBreak] et rien de plus.

  • Si un appel à nextLine lit le [LineBreak] après le numéro 5000. 00, l'appel suivant à nextLine lit Harriet Ritter [LineBreak].

Donc, après avoir lu le numéro 5000. 00, vous avez besoin de deux appels à nextLine pour récupérer le nom Harriet Ritter. L'erreur que vous faites habituellement est d'oublier le premier de ces deux appels.

Regardez à nouveau le fichier sur la figure. Pour que le code de cette section fonctionne correctement, vous devez avoir un saut de ligne après le dernier 10000. 00. Si vous ne le faites pas, un dernier appel à nextLine fait planter et graver votre programme. Le message d'erreur lit NoSuchElementException: Aucune ligne trouvée.

Vous pourriez être surpris par le nombre de bizarreries que vous trouvez dans les méthodes de numérisation de chaque langage de programmation. Par exemple, le premier nextLine qui lit le fichier dans la figure dévore Barry Burd [LineBreak] du fichier.

Mais cet appel nextLine fournit Barry Burd (sans saut de ligne) au code en cours d'exécution. Ainsi, nextLine recherche un saut de ligne, puis nextLine perd le saut de ligne. Oui, c'est un point subtil. Et non, ce point subtil ne pose presque jamais de problèmes à personne.

Si cette affaire sur nextDouble et nextLine vous embrouille, ne blâmez pas Java. Mélanger les appels d'entrée est un travail délicat dans tout langage de programmation informatique. Et la chose vraiment désagréable est que chaque langage de programmation aborde le problème un peu différemment.

Ce que vous apprenez à propos de nextLine dans Java vous aide à comprendre les problèmes lorsque vous apprenez à connaître C ++ ou Visual Basic, mais il ne vous dit pas tous les détails. Les détails de chaque langue sont uniques à cette langue.

Programmation java: Lecture d'une ligne à la fois - les nuls

Le choix des éditeurs

Pour les seniors: Comment travailler avec Windows dans Microsoft Windows - les nuls

Pour les seniors: Comment travailler avec Windows dans Microsoft Windows - les nuls

Windows, avec un W majuscule, tire son nom de sa caractéristique principale: Windows, avec un w minuscule. Se familiariser avec Windows signifie apprendre à ouvrir, fermer, redimensionner, déplacer et basculer entre les fenêtres, ce qui est la clé pour jongler avec succès avec plusieurs activités. Chaque programme que vous exécutez occupe sa propre fenêtre. Une fenêtre peut occuper une partie de ...

Comment accepter ou rejeter les cookies dans Safari - dummies

Comment accepter ou rejeter les cookies dans Safari - dummies

Un cookie est un petit fichier qu'un site Web enregistre automatiquement sur le disque dur de votre Mac. Il contient des informations, telles que vos préférences ou votre date de naissance, que le site utilisera lors de vos prochaines visites. Dans Mac OS X Snow Leopard, Safari vous permet de choisir d'accepter ou non tous les cookies ...

Le choix des éditeurs

Construire des boîtes et des lignes Bézier dans QuarkXPress - des nuls

Construire des boîtes et des lignes Bézier dans QuarkXPress - des nuls

Pour créer une boîte ou une ligne dans QuarkXPress plus complexe qu'un simple rectangle, ovale ou starburst, vous entrez dans le domaine du chemin de Bézier. Si vous avez utilisé l'outil Plume dans Adobe Illustrator ou Photoshop, vous comprenez déjà les chemins de Bézier. Il faut un peu de pratique et un esprit détendu ...

Création d'un rapport avec Crystal Reports 10 - témoins

Création d'un rapport avec Crystal Reports 10 - témoins

Lorsque vous démarrez Crystal Reports 10, généralement l'une des trois choses suivantes: créer un rapport, modifier un rapport ou exécuter un rapport sur les données de votre base de données. Les rapports prennent des données à partir d'une base de données, les traitent, les formatent et les affichent ensuite sur une imprimante, un écran d'ordinateur ou un site Web. Crystal Reports ...

Traitant des commentaires Javadoc dans Eclipse - mannequins

Traitant des commentaires Javadoc dans Eclipse - mannequins

Lorsque vous utilisez Eclipse pour écrire du code Java, n'oubliez pas de éditez les commentaires de Javadoc (les choses qui commencent par / **). Vous pouvez ajouter des informations utiles lorsque vous modifiez les commentaires Javadoc et lorsque vous les modifiez, l'aide au code d'Eclipse propose des suggestions. N'oubliez pas ces astuces lorsque vous modifiez vos commentaires Javadoc: Ajouter un commentaire Javadoc: ...

Le choix des éditeurs

Les connexions cachées sur le Nikon D5600 - les nuls

Les connexions cachées sur le Nikon D5600 - les nuls

Ouvrent les couvercles sur les côtés gauche et droit du Nikon D5600 caméra, et vous verrez plusieurs ports de connexions cachées. Les ports de connexion suivants sont indiqués sur cette image: Terminal d'accessoires: ce terminal accepte les accessoires suivants: câble déclencheur à distance Nikon MC-DC2; Télécommandes sans fil WR-1 et WR-R10; et les unités GPS GP-1 / GP-1A. I ...

Les connexions cachées sur votre Nikon D5200 - les nuls

Les connexions cachées sur votre Nikon D5200 - les nuls

ÉParpillés sur l'extérieur de votre appareil photo sont nombreuses commandes que vous utilisez pour changer d'image -prend des paramètres, revoir et modifier vos photos, et effectuer diverses autres opérations. Caché sous le couvercle sur le côté gauche de la caméra, vous trouverez les quatre ports de connexion suivants, étiquetés dans cette figure: Borne accessoire: Vous pouvez brancher le Nikon en option ...

Des boutons et autres commandes du Nikon D7500 - mannequins

Des boutons et autres commandes du Nikon D7500 - mannequins

C'est génial d'avoir une carte pour le boutons et commandes sur votre appareil photo, mais ce n'est pas beaucoup d'aide si vous ne pouvez pas vous rappeler quel bouton appuyer sur quand (et pourquoi). Alors, voici un aperçu des fonctions des contrôles les plus importants. (Certains contrôles ont des fonctions supplémentaires pendant certaines opérations, mais la table ...