Lar Finanças Pessoais Programação de java: lendo uma linha de cada vez - manequins

Programação de java: lendo uma linha de cada vez - manequins

Vídeo: Tutorial Java - Ler e importar dados de Arquivos TXT (arquivos texto) 2024

Vídeo: Tutorial Java - Ler e importar dados de Arquivos TXT (arquivos texto) 2024
Anonim

Nesta listagem de código Java, O método payOneEmployee ilustra alguns truques úteis para ler dados. Em particular, cada scanner que você cria tem um método nextLine. (Você pode não usar este método nextLine, mas o método está disponível, no entanto.)

Quando você chama o método nextLine de um scanner, o método agarra tudo até o final da linha de texto atual. Nesta lista, uma chamada para nextLine pode ler uma linha inteira do EmployeeInfo. arquivo txt. (Em outro programa, a chamada NextLine de um scanner pode ler tudo que o usuário digita no teclado até a pressão da tecla Enter.)

importar java. util. Scanner; importar java. io. Arquivo; importar java. io. IOException; classe pública DoPayroll {public static void main (String args []) lança IOException {Scanner diskScanner = new Scanner (novo arquivo ("EmployeeInfo. txt")); para (int empNum = 1; empNum <= 3; empNum ++) {payOneEmployee (diskScanner);} diskScanner. close ();} static void payOneEmployee (Scanner aScanner) {Employee anEmployee = new Employee (); Um empregado. setName (aScanner. nextLine ()); Um empregado. setJobTitle (aScanner. nextLine ()); Um empregado. cutCheck (aScanner. nextDouble ()); aScanner. nextLine ();}}

Observe a escolha cuidadosa das palavras: nextLine lê tudo até o final da linha atual. Infelizmente, o que significa ler até o final da linha atual nem sempre é o que você acha que isso significa. Interrompendo nextInt, nextDouble e as chamadas NextLine podem ser bagunceadas. Você deve assistir o que está fazendo e verificar a saída do seu programa cuidadosamente.

Para entender tudo isso, você precisa estar dolorosamente consciente das quebras de linha de um arquivo de dados. Pense em um intervalo de linha como um personagem extra, preso entre uma linha de texto e a próxima. Então, imagine que chamar nextLine significa ler tudo até a próxima quebra de linha.

Agora dê uma olhada nesta figura.

  • Se uma chamada para NextLine lê Barry Burd [LineBreak], a chamada subsequente para NextLine lê CEO [LineBreak].

  • Se uma chamada para nextDouble lê o número 5000. 00, a chamada subseqüente para NextLine lê o [LineBreak] que vem imediatamente após o número 5000. 00. (Essa é toda a leitura NextLine - uma [LineBreak] e nada mais.)

  • Se uma chamada para NextLine lê o [LineBreak] após o número 5000. 00, a chamada subsequente para NextLine lê Harriet Ritter [LineBreak].

Então, depois de ler o número 5000. 00, você precisa duas chamadas para nextLine para obter o nome Harriet Ritter. O erro que você costuma fazer é esquecer a primeira dessas duas chamadas.

Veja novamente o arquivo na figura. Para que o código desta seção funcione corretamente, você deve ter uma quebra de linha após o último 10000. 00. Se você não fizer isso, uma última chamada para nextLine faz com que seu programa falhe e queime. A mensagem de erro lê NoSuchElementException: Nenhuma linha encontrada.

Você pode se surpreender com o número de peculiaridades que você encontra nos métodos de varredura de cada linguagem de programação. Por exemplo, a primeira linha seguinte que lê do arquivo na figura devora Barry Burd [LineBreak] do arquivo.

Mas essa chamada NextLine entrega Barry Burd (sem qualquer intervalo de linha) ao código em execução. Então, a próxima linha procura um intervalo de linha e, em seguida, a próxima Linha perde o intervalo de linha. Sim, este é um ponto sutil. E não, esse ponto sutil quase nunca causa problemas para ninguém.

Se este negócio sobre nextDouble e nextLine o confunde, não coloque a culpa em Java. A mistura de chamadas de entrada é um trabalho delicado em qualquer linguagem de programação de computador. E a coisa realmente desagradável é que cada linguagem de programação aborda o problema um pouco diferente.

O que você entende sobre o NextLine em Java ajuda você a entender os problemas quando você conhece C ++ ou Visual Basic, mas não lhe informa todos os detalhes. Os detalhes de cada idioma são exclusivos desse idioma.

Programação de java: lendo uma linha de cada vez - manequins

Escolha dos editores

Acalma suas emoções ao praticar Mindfulness - dummies

Acalma suas emoções ao praticar Mindfulness - dummies

Aqui, você descobre a maneira consciente de gerenciar as emoções - as etapas para tome quando estiver sentindo baixo, excessivamente irritado ou desconfortavelmente ansioso. As emoções positivas podem ser um sentimento maravilhoso. A alegria, a alegria, a emoção e a felicidade são perfeitas. Mas como você pode lidar com as chamadas emoções negativas? Use a atenção para a saúde emocional A atenção plena está se tornando ...

Como começar o seu dia de trabalho com meditação Mindfulness - dummies

Como começar o seu dia de trabalho com meditação Mindfulness - dummies

Você pode encontrar a meditação mindfulness é uma ótima maneira de Comece o seu dia de trabalho. Quando chegar ao trabalho pela manhã, talvez já esteja estressado. Depois de uma agitada hora ou duas preparando as crianças para a escola ou regatear com seu parceiro ou lidar com alguma emergência em casa, seguido de ...

Os melhores sites Mindfulness - dummies

Os melhores sites Mindfulness - dummies

, Independentemente de você morar no Reino Unido ou em outro lugar, se você procurar "mindfulness" 'on-line, você literalmente obterá milhões de resultados. Como você pode dizer o trigo da palha? Aqui estão alguns sites que você achará útil. Atento. Este recurso maravilhoso tem muitos conteúdos de alta qualidade de professores excelentes de atenção plena. O ...

Escolha dos editores

HDR Solução de problemas: Nada está funcionando - manequins

HDR Solução de problemas: Nada está funcionando - manequins

Quando você se depara com uma situação com suas fotografias de alcance dinâmico elevado e parece que nada que você está fazendo está funcionando - as configurações não parecem boas, a imagem parece errada, os efeitos são ruins - relaxe e faça uma pausa. A imagem está lhe dizendo algo. Que algo às vezes é relacionado a forçar ...

HDR Resolução de problemas: falta de imaginação - dummies

HDR Resolução de problemas: falta de imaginação - dummies

A imaginação é uma coisa poderosa ao preparar imagens HDR, fato que é tornou-se mais óbvio quando você vê o resultado de não usá-lo versus usá-lo. A imagem superior desta figura é uma imagem HDR de um diner local durante a "hora dourada" - naquele horário atrasado (ou manhã) quando ...

HDR Solução de problemas: Sharpening - dummies

HDR Solução de problemas: Sharpening - dummies

Se você ficar apanhado na perfeição, você está preparado para aumentar seu HDR imagens. Os fotógrafos às vezes estão obcecados com a nitidez em suas fotos. Eles querem que tudo seja pixelly perfeitamente afiado do nariz da câmera até o infinito, independentemente da lente, abertura, ISO ou velocidade do obturador que eles usem. Esta figura mostra os resultados ...

Escolha dos editores

Cisco Rede: Mostrar comando de versão em um Switch - dummies

Cisco Rede: Mostrar comando de versão em um Switch - dummies

Em qualquer componente de rede da Cisco, o show O comando de versão é aplicável a qualquer hardware usando o Sistema Operacional Cisco IET (Internetwork Operating System), incluindo switches. O comando show version mostra informações ligeiramente diferentes, de acordo com o tipo de dispositivo em que você usa. Veja a saída do comando show version em um switch e ...

Cisco Rede: Modo de operação EXEC privilegiado - manequins

Cisco Rede: Modo de operação EXEC privilegiado - manequins

Você precisa usar o modo EXEC privilegiado se quiser realmente tem acesso de atualização a um sistema de rede Cisco,. Para entrar neste modo no modo EXEC do usuário, emita o comando enable, que solicita uma senha, se configurado. Como o nome do modo sugere, este modo tem privilégios extras para permitir ...

Cisco Rede: Configuração de Senha de Shell Seguro (SSH) - manequins

Cisco Rede: Configuração de Senha de Shell Seguro (SSH) - manequins

Shell seguro (SSH) é um protocolo de rede para seus dispositivos Cisco, que é mais seguro do que o Telenet. Definir uma senha segura é um requisito de configuração para este protocolo. Para configurar o acesso a um switch Cisco para SSH, você precisará ter uma conta de usuário criada em sua opção. O exemplo supõe que você tenha ...