o Olá pessoal eu gostaria de mostrar para vocês nesse vídeo como fazer um Java digitação de dados é através do teclado como programar essa digitação de dados em Java através do teclado e Bom primeiramente eu gostaria de chamar a atenção de vocês para o fato de que na grande maioria das linguagens quando a gente quer Obter dados digitados pelo teclado a gente consegue de uma maneira bem simples atingir nosso objetivo normalmente apenas chamando uma função e em Java a digitação dos dados pelo teclado não é nada simples ela é tão chatinha que talvez vale a
mesma pena fazer uma classe apenas para implementar coisas que nos ajudem nessa digitação nessas digitações de dados pelo teclado e é para isso que eu tô lhe perguntando essa classe teclado vou comentar com vocês sobre ela nesse vídeo primeira coisa que eu preciso para digitar dados no teclado e no programa e já é importar da biblioteca Java as classes bufferedreader importante Dream Rider E ai o Excel esses três imports eles estão aqui em comentários por causa desses barra porque eu coloquei o importe aqui java.io pontos turísticos e isso engloba nessas teres que engloba Olá tudo
isso aqui eu tenho Alternativa de escrever um por um uma por uma as classes que eu quero importar ou se eu preferi usar essa forma mais genérica também dá certo tá essa é a primeira coisa que é necessário fazer para poder digitar dados pelo teclado no programa em Java o que mais eu preciso preciso de um objeto que aqui eu chamei de teclado conter minúsculo mas o poderia ter chamado de qualquer nome não é importante o nome que a gente dá para esse objeto o importante é que ele seja da classe bufferedreader se você for
do tipo Xereta e dá uma espiadinha e na internet para ver se não tem formas alternativas de fazer as coisas talvez vocês acabem conhecendo aí pela internet uma classe chamada Kenner essa classe que nem ela também serve para digitação de dados pelo teclado eu não gosto muito dela porque ela apresenta alguns inconvenients e seu gente souber e não nos atrapalhará em nada mas a pessoas assim mais nudes na programação em Java Pode ser que a pessoa não saiba driblar E no fim acabo se confundindo se perdendo um pouquinho né de que tipo de dificuldade que
eu estou falando eu tô falando não sei se alguma vez já aconteceu com vocês de vocês mandaram digitar um dado é tão comando lá no seu programa para um dado ser digitado e o programa para espera você digitar o que é o correto mas uma outra hora você tão comando lá para o programa Obter dados por digitação e o problema não para programa no prossegue como se aquele comando não existisse não para naquele comando para te dar a chance de digitar Ele mente e pulo romântico ignora o romance já aconteceu com vocês isso Às vezes
acontecem acontece em algumas linguagens e acontece em Java Se você usar o scanner têm jeitos de dribles mas eu vou preferir em si lá por vocês a usar é o Buzz trade hacker está frágil ele é uma classe que serve para digitação tempo no teclado mas que não tem esses Inconveniente sair que eu estava mencionando que a classe scanner tem então a declarei um objeto chamado teclado da classe bufferedreader Instância em o meu objeto com o novo de vida e passei com parâmetro para o construtor de má-fé de render Uma Nova Instância de input string
Rider e eu passei para o construtor de imposto Extreme esse objeto pré declarado público como instante da classe system.com o system.in então para você poder fazer digitação pelo teclado precisa primeiramente declarar um objeto como é se não precisa chamar se teclar poderia ter outro nome mas o resto das coisas todas tem que ter tá só o nome aqui que poderia não ser ir E aí Observe pessoal que eu fiz por vocês vários métodos para obter vários tipos de digitação Eu Tenho método get Mustang que retorna um string eu usaria esse método para quando eu precisasse
digitar umas tem por exemplo digital nome de uma pessoa ou então digitar o e-mail de alguém então digitar o endereço aí eu usaria cimento porque esse método faz a digitação de um sangue retorna para mim o estranho digital é mas eu fiz também o método getbyte 10 um short gentilmente gatinho long para quando eu precisar digitar um número inteiro Oi e a gente aprendeu em outras oportunidades que Java existe os números inteiros de quatro tamanhos a gente tem números inteiros bem pequenos da classe byte de um tamanho um pouquinho maior da classe short e um
tamanho ainda maior da classe int e de um tamanho que é o maior de todos a classe long então todos esses quatro métodos não é o método get 1 byte pede um short pertinho um um jejum long servem para digitação de números inteiros depende é claro do tamanho internet preciso você precisa de um número pequeno pode usar alguém de um bairro precisa de um rio grandão usa um leque longos Então depende um pouco do tamanho do número inteiro que a gente precisa nós temos ainda o método Jackson Floyd E também o método get um burro
esses dois métodos eles fazem a digitação de números reais também tem a questão do tamanho você quer números reais com menos casas decimais pode usar esse mais casos desse mais um sageiro de casas decimais muitas muitas mesmo casas decimais usei esse né temos ainda é o método get manchar serve para digitação de um caracter só e o metro e finalmente o método get Hambúrger que serve para digitação de um valor não é verdadeiro ou é falso e com isso encerra-se a nossa classe e claro A grande maioria desses métodos eles foram feitos 1 a verdade
eles são muito parecidos a implementação de da grande maioria deles é muito parecida tem um ou outro que é um pouco diferente então eu vou primeiro focar no que é parecido e depois a gente encara os que são diferentes tudo bem essa classe é uma classe que nós fizemos para ensinar vocês como digitar no teclado e no futuro a gente pode usar essa classe teclado para fazer outros programas e eventualmente a gente queira fazer e que precise digitação de dados pelo teclado tá primeira coisa que eu preciso saber e agora aqui e o nosso objeto
teclado que é um objeto da classe bufferedreader ele tem esse método aqui que é chamado de rede Laine esse método e é ele que eu uso quando eu quero obter uma digitação eu chamo esse método mas esse método Verde line e ele sempre retorna para mim uns trem Ele sempre vai pegar o que as pessoas digitaram e vai colocar dentro de um trem e vai retornar para mim uns trem até esse método verde laranja sempre me dá uns trem mesmo que eu falo e para pessoa Digite a sua idade e aí eu uso esse método
aqui aquecimento vai me dar mas ele dá uma string mas a pessoa digitar 23 enter ele vai me dar uns trem aí "23 para churrascos ele vai me dar o número 3 como se fosse uns tem esse método Redline portanto não importa o que a pessoa digite sempre vem uma string no mesmo lugar de um sangue o que eu quero é mesmo os trem então se ele me dá uns trem e o que eu quero é uma strengh fica bem sim o esquecimento né porque basicamente eu pego o estranho que ele me dá guardo nessas
variável e o que é um Spring e depois eu retorno então no caso da gente tire uns trem Gui é muito sim a basta a gente pegar o que o método Red Line faz o que o método slime retorna e pronto já tenho trem que já guarda na variável que é Spring o que já retorna e pronto já consegui uns Trend meu gatinho uns trem aqui está a prova seria só isso agora isso eu quero bike eu tô fazendo método do cátion Bate eu ainda vou usar teclado hardline porque é ele o final das contas
que obtenho que a pessoa digitou mas eu estou interessado num número inteiro pequenininho do tipo byte Então o que eu faço transforma em Bart esse daqui que serve para transformar um byte o Spring tá então aqui me deu o estende digitado aqui transformou em Bart aqui guardou na variável Hatch que é Byte bom e no final retornou Hatch ou seja retornou e o que a pessoa digitou eu sempre desenho trem transformado em baixo não tem pessoal que essa transformação bate ela pode dar erro porque porque a pessoa pode digitar alguma coisa e não sejam valor
válido para um bar gente já sabe que bytes aceitam valores de menos 128 até mais 127 digitar 300 não vai dar certo essa pessoa digitar 1.5 não vai dar certo e se a pessoa digitar umas letras também não vai dar certo a transformação embart Então essa transformação de baixo pode dar erro e se der erro como eu estou no cry ele vem aqui para o quer number-format caption porque quando que daria erro na transformação quando a pessoa passasse digitar se né Umas treine e na verdade não é um Bardi que é um número maior do
que 127 por exemplo 300 ou então é um número quebradinho tipo um e-mail então tem mais letras não é um bike Então essa pessoa digitar uma você não é um baixo eu mando transformar em baixo no meu traz e dá erro aí ele vem aqui parece que Kate e ele lança essa exceção byte inválido e não tendo Acontecido isso retorna O byte que pessoa digitou Oi tudo bem E aí e os próximos métodos Eles são muito parecidos com esse que a gente acabou de ver e a gente muda basicamente a forma de transformar o stringhi
naquilo que eu desejo aqui eu quero um short bege um short eu quero retornar um short então o que que eu uso aqui eu não uso byte. Parece baixo eu uso short. Parece short é esse daí é erro nessa transformação eu vou lançar exceção short inválido o resto do método a basicamente a mesma coisa só mudou a forma de transformar em short que é claro não conhecido com a forma de transformar em baixo e mudou aqui o texto da minha sessão se observa em que gentilmente também segue muito o mesmo padrão eu pego o professor
Victor e transforma em mente o jeito de transformar é próprio para mim integer. Parciente se fosse transformar para Bite bite. Quase bati se fosse transformar para short short. Parece short agora nós vamos entrar para transformar para impedir a gente usa integer. Arce hein o E caso de erro nessa transformação ele vai dar pegar essa exceção de formato numérico e vai lançar exceção de 20 inválido e finalmente o último tamanho de número inteiro long nós temos aqui o cátion Gui percebam que a forma de transformar o stringher que o headliner Me dá o número mudou né
agora long. Parcilon porque fica agora eu tô querendo transformar num longo eu não tô querendo transformar em baixo eu não tô querendo teu short eu não tô querendo transformar em que eu tô querendo transformar em Long então quê que eu uso long. Parcilon esse de erro nessa transformação aqui que que vai acontecer vai pegar o o erro que é exceção formato numérico e eu vou lançar esse são The Long in vale então até aqui e segue um padrão bem uniforme tá percebendo que existe um padrão Oi e esse padrão ainda perdura nos números reais quando
eu quiser um floty e o que é que o Jackson flute faz e ele vai pegar outra pessoa digitar e vai transformar em flor como usando flor de ponto parece flor se der erro nessa transformação que a pessoa digitou a talvez umas letras aí ele vai vir aqui para esse Pet e vai ser lançada a edição de Frontin vai lá e quando eu quiser um dava o que é um número real com mais casos desse mais um exagero mesmo de casas decimais Eu uso esse Jet um gamo e o que que ele vai fazer vai
pegar o que a pessoa digitou sem presente nos trem e vai transformar não deram usando o w. Parte dela se der erro nessa transformação ele vem aqui no namoro forma reception e dá a exceção de Hubble invadir e com isso encerram-se os métodos que seguem esse mesmo padrão eu quero chamar a atenção de vocês para alguns detalhes nesses métodos todos bom vocês devem ter parado quem todos eles e seguem esse mesmo padrão e eu começo declarando o rack e guardando no rack e o valor inicial que sempre zero e outro ponto zero aqui eu também
tô pondo zero aqui eu também tô pondo zero aqui também é zero Aqui é zero Oi aqui é zero só que eu escrevi esse monte de zero de jeitos bem diferentes eu quero que vocês ai que vocês saibam pessoal quando eu escrevo somente zero assim o Zé o Zé Pedro Java Isso é do tipo int e ele aceita que eu guarde esse zero que é do tipo int numa variável que é do tipo Então é só pegar o zero tipo mente e guardar na variável do tipo int que vai dar tudo certo ele aceita não
deve compilação beleza e mais se eu eu coloco e aqui e num bytea se eu não tomar o cuidado de escrever isso aqui por exemplo Digamos que eu tirasse só tirei isso vai dar eu de continuação porque porque ele vai considerar a seguinte coisa zero é um entes ocupam 4 bytes mas essa variável é parte ela só tem um byte como eu vou querer guardar um prego preocupa quatro mais porque é imprimir numa variável que só acomoda um bar entregar erro de compilação e quando eu coloco esse e esse typecast aqui que que eu tô
fazendo eu estou convertendo o tipo desses zero que é inte o tipo byte eu converti de ti e aí ele aceita que eu guarde uma variável do tipo byte por quê Porque eu não tô aguardando agora 10 que seja do tipo em eu tô guardando 10 que é do tipo byte por quê Porque eu fiz essa conversão aqui tá então por isso que tenha conversando pai tenha conversando short mas não tenha conversando ruim porque não tem doente porque fizeram jovem então Precisa converter agora esse zero aqui em Google 4 bytes se você for guardar uma
variável short só tem dois vai dar eu me configuração agora se eu fizesse a conversão aí não porque porque o que eu tô aguardando aqui na variável não é 10 que é Ben 10 que é short porque eu convertir en short Oi tudo bem e é por isso que tem esses baixe aqui esse short aqui é justamente por isso no inte não tem nada tá no long não precisaria ter nada se eu não quiser trazer eu tirasse ele daqui ó e tirar SL daqui esse é e não vai dar nenhum antes compilação não mas o
que que vai acontecer vai acontecer uma conversão automática de ente para long porque porque esse 0 a senha sempre considerado um ambiente em jaula e eu tô pó numa variável long int ocupam 4 bytes long ocupa oito então ele faz uma conversão automática agora se eu escrever aqui contar você SL bom então isso daqui não é o 0ente é o zero load e isso SL aqui não é uma conversão não viu porque se eu fosse conversar seria assim em esse L aqui não é uma conversão tá isso a conversar seria conversar mas eu nem preciso
por essa conversão porque essa conversão aí que eu escrevi agora tá escrito aqui é uma conversão Explicita mas eu não escrever ele faz automaticamente uma conversão implícita eu não escrevi e ele faz automaticamente agora se inscrever e se ela que isso é interessante não tem conversão não tem conversão lícito não tem conversão explícita simplesmente porque isso daqui já é o zero do tipo long é assim que se escreve Java o Zé o tipo só se você escreveu isso já é zero do tipo não tem que converter não nem espiritualmente nem implícita também tá não estamos
sabendo disso aí agora que talvez muitos não soubesse agora vamos para o flor e por w sempre que eu escrevo 00 E entende-se que esse 0.0 aí é do tipo Double sempre que você escreve um número com ponto ele automaticamente entende pelo tipo da então aqui não tá tendo nenhum tipo de conversão aí eu tenho zero do tipo amo tô guardando numa variável que é do tipo Double não tem conversão nenhuma sendo feito aqui porque porque esse zero já é do tipo eu posso colocar assim o zero assim posso mas vai haver uma conversão de
imt para Gumball porque esses eram que é do tipo int não é do tipo Tabu e a variável é do que citando então se eu escrever esses eram aqui desse jeitinho vai acontecer uma conversão automática uma conversão implícita de anti pra damo E agora se eu escrevi assim não tem conversando nenhuma porque porque esse 0.0 já é o zero do tipo tamo não precisa de conversão nenhuma variável do tipo tamo o número que esse zero é do tipo dando eu posso atribuir o zero para o Hatch sem conversão nenhuma e lá e aqui e aqui
e se f é para indicar o 0.0 é do tipo flor experimentem depois em casa compilasse programa tirando SF você vai ver que vai dar um erro de compilação por quê Porque o Java acredito que esse 0.0 Double portanto ocupa oito bytes e esse Red front só tem 4 bytes como que eu vou querer guardar uma variável de cabe só 4 bytes um número que ocupa oito mais porque esse 0.0 por Java Pernambuco agora eu poderia se eu quisesse escrever assim isso seria uma conversão do convertendo que eles eram 1.0 Double em flocos poderia fazer
isso mas eu faria melhor se eu escrevesse umef aqui porque tu quiser 1.0 f não é com versão 0.10 efe já é 10 do tipo flaut isso não é uma conversão a e é sempre melhor se você puder evitar uma conversão que você e vi então aqui não tem como evitar uma conversão por quê Porque não tem um jeito de eu escrever zero do tipo byte não existe um jeito para escrever zero do tipo byte Então só me resta usar uma conversão aqui também não existe um jeito de eu escrever zero do tipo short Então
só me resta usar uma conversão e agora aqui existe um jeito de eu escrever zero do tipo long 0l pude evitar conversão evitei a conversão e aqui embaixo eu poderia ter usado uma conversão conforme Eu já mostrei por vocês e poderia se eu quisesse ter escrito e assim ó E aí Ah mas eu quero evitar a conversão então tem como evitar tem como evitar porque fiquei existe um jeito de eu escrever 0.0 do tipo flaut que é isso que eu acabei de escrever aí 0.0 então pessoal sempre que eu posso inventar uma conversão eu envie
seja conversão implícita seja conversão explícita por exemplo aqui se eu escrever só zero não entendemos compilação e ela tudo certo em termos de compilação mas iria estar acontecendo uma conversão implícita porque ele estar convertendo esse zero que é do tipo int para o tipo Double para poder ser guardado numa variável do tipo da então isso seria uma conversão Mas seria uma conversão a implícita transparente que ninguém vê é mas é conversão em toda conversão toma algum tempo do seu programa tá quando você escreve assim ó 10 l e na desculpa 0.0 é se não der.
Zero desculpa 100 quando eu escrevo assim a zero. Zero não tem conversão Por que fizeram 10 já é danbo Ah e não tendo conversar o seu programa fica ligeiramente menor porque na hora que o compilador Fu compilasse programa ele compila a colocação do zero Double o novo head agora se tivesse escrito assim fiquei iria compilar ele iria compilar a tradução do zero em ti conversão do zero em ti para o 0 w para então compilar a colocação na variável Hatch se é do tipo não Ou seja seu programa fica ligeiramente maior se você não escreve
os tipos direito entendeu então isso aqui o compilador Aceita aceita mas é bom escrever assim não é bom ser ver desse jeito aqui ó sim é bom e conversões implícitas ou explícitas eu devo digitar Note que aqui não tem conversão e aqui não tem conversão porque isso já é zero do tipo flor e aqui não tem conversão porque isso é zero do tipo longo aqui não tem conversão porque esse zero é Indy aqui tem conversão e não tem nada que eu posso fazer para evitar porque porque não tem jeito de escrever zero do tipo short
só tem jeito de eu fazer conversar o mesmo pega o zero e converte a mesma coisa aqui ó não tem jeito de evitar a conversão Então você não tem jeito de evitar conversamos fazer o que não tem jeito tem jeito né agora se tem a gente evita E que fique claro pessoal que aqui nesse programa os valores iniciais que eu estou pondo são zeros né então aqui com 10 e aqui também do zero agora essa história que eu tô falando sobre escrever valor essa história de colocar é li essa história de colocar F essas histórias
aqui não são só por 10 qualquer valor Se eu quisesse colocar que meio ia ser meio F também não jeito qualquer valor de seja se você quer que ele seja do tipo flaut você pode Emef certo que ele vai ser do tipo fonte e você faz isso quando você quer guardar o valor eu não quero tipo flaut bom então essa foi uma primeira observação importante outra observação importante para fazer as conversões a partir do stream a gente sempre usou um método de uma classe rapper Aqui nós temos bate. Parece by parte de baixo é o
método dessa classe rapper beachcomber maio aqui a gente usou short. Para esse short para esse short é um método dessa classe rapper short com S maiúsculo e aqui a gente usou interior. Piercings parse.int é um método dessa classe rapper índia aqui usamos long. Parcilon parcilon é um método da classe long com l maiúsculo aqui usamos front. Parsefloat parece fraude é um método da classe front com F maiúsculo da classe rapper Floyd com F maiúsculo o e finalmente w. Parte w parte do método da classe Double Horse wallpaper Tumblr com Grêmio tá então para transformar the
Spring naquele tipo de dado que você deseja por enquanto o que andamos usando foram métodos das classes rapper que a gente já conheceu antes Aqui não precisou de nenhum tipo de conversão em porque porque aqui me dá um string e o que que eu queria eu queria é algo estranho E para quê para retornar porque a crescimento retorna estranho ele chama get string então aqui não teve que ter nenhum tipo de conversao porque isso aqui me dá uma string e o que eu quero é exatamente uma estranha Então se a gente conversar nenhuma mas nos
outros casos a gente viu que sempre houve uma conversão seja para baixo e seja para short sempre para em gente seja para longe e seja para front ou seja para diabo sempre teve a conversão soles primeiro caso que não teve porque o que eu queria era um Trend Então esse já me dá uma strang então não há necessidade de conversão tudo bem e agora outra coisa que vale a pena comentar e a respeito dessas classes é o that you access Cês viram que eu sempre coloquei tchau York ceptiom abre chave que fecha chave sei que
não vai dar pois aqui embaixo também sei que não vai dar para aqui embaixo também tem que foi posto em todos os métodos que eu mostrei até agora vai ter um que eu ainda não mostrei meu vou mostrar daqui a pouco que é o cátion boolean e também tenista vai viajar então é e até objetos puxar todos eles na verdade todos os mesmos os que a gente não viu ainda tem está esse 787 long e em áreas Chaves Chaves e tem esse comentário sei que não vai dar até os que a gente não viu ainda
Pet puxar não mostrei não expliquei ainda não tem um e depois Gates um golo também não tinha mostrado não tinha explicado ainda está aqui tá todos têm porque isso a classe bufferedreader ela é uma classe que ela serve para ler dados de várias possíveis Fontes quando eu coloco que Construtor do banco Ford Ranger New em possuem Ryder System Ram como eu fiz aqui eu tô dizendo que o banco Trader vai levar os dessa fonte aí impulso temer system.in e que fonte de dados é essa o teclado agora se aqui por um acaso eu colocasse a
file reader e aqui eu colocasse um nome de um arquivo e isto. Terceiro o meu objeto teclado quando eu fizesse vídeo aí não estaria lendo do teclado porque porque aqui eu coloquei uma outra fonte ele estaria lendo dados de um arquivo se eu fizer a colocação aqui de Fairy Rider então com isso queria dizer para vocês que o Buzz Ford Ranger é capaz de dados de várias fontes e por conta disso né por ele consegui lê dados de várias Fontes ele é um e ele pode ser usado para corrigir Line ler dados de várias fontes
e Depende da foto que eu coloquei aqui tudo bem e que consequências tem isso o seguinte não sei se você já fizeram experiências se quiser fazer faça roda um programa onde precisa digitar alguma coisa mas antes de rodar Hum te Claro no seu computador e só você vai ver que não vai dar erro não E aí você pega e vai tomar um suco vai na geladeira pega um suco bebe aí você volta lá no seu computador nada de erro a gente vai lá expresso o teclado no computador e digita a digitação vai acontecer normalmente é
isso você quiser radicalizar esperta dois teclados no seu computador e digita uma tecla nenhuma tecla no outro até puno uma tecla no outro vai dar tudo certo porque porque teclado não dá erro e por isso eu estou ignorando e vocês não vai dar erro sei que não vai dar erro não sei isso porque eu sei criatura que eu estou lendo do teclado Fui Eu que pus aqui e sininho é impossível eles estão com alguém eu sei que a fonte de dados eu escolhi é o teclado e eu tô sabendo que teclado nunca dá erro agora
o fato é esse método dilaine se não fosse teclado por dia daí então por o cat eu tenho que por agora nem sempre vou deixar aqui tem nenhuma programação Nem sempre eu vou poder me dar o luxo de escrever aqui na frente sei que não vai dar porque você nem sempre eu vou colocar aqui em Porto isso um exercício em.im Se eu colocar outra coisa aqui que não seja o teclado por exemplo um Palio Líder pode acontecer sim de dar erro e deixar isso daqui assim vazio Tem que programar o que eu quero que aconteça
se aquele erro acontecer não posso deixar em branco falando que sei que não vai dar eu porque eu tô sabendo é bobagem pode dar erro sim conversa fiada de que tem que não vai dar ele nesse problema é mesmo não vai ganhar porque porque eu senti eu escolhi o teclado como fonte de tá então esse explica esse esquetes sem nenhuma programação de tratamento de erro e com esse comentário que sei que não vai dar eu por que que eu sei sempre eu disse que o que eu sei que a fonte de dados que eu escolhi
é o teclado e eu sei que teclado não dá erro Nunca nem quando você faz coisas estapafúrdia esquisitas como essa que eu falei para vocês fazer hum com teclado rosa o programa que tem que digitar por onde que ela Esperança digitar nem tem teclado o espertão teclado espeta dois teclados você quiser digita uma tecla no teclado uma tecla do teclado vai dar tudo certo porque teclados não não erro então esse explica isso aqui tá muito bom que mais eu quero explicar para vocês um Cry pode ter vários Pets aqui a gente tem levar os cats
um que eu ignorava porque eu sabia que não ia dar erro e o outro que eu não ignorei que eu não ver forma de 71 por quê Porque eu não lembro forma Deception pode acontecer então eu não quero fazer caso esse erro aconteça tá E por quê que pode acontecer esse erro pedir number-format por quê e quando forem visitar o combate tem que digitar números inteiros não pode pôr ponto decimal vivos bom e-mail ocorre por um e-mail não pode pôr número muito grande assim 200 porque o maior número do tipo byte que existe é 127
não tem 200 então se a pessoa digitar o número meio grande 50 outra pessoa visão número quebradinho tipo um e-mail os pessoa digitar umas letras e na transformação para bytes vai dar erro e eu vou vim parar aqui E isso acontece combate com short com todo mundo muda o limite a gente já falou sobre isso né o limite de um byte é 127 e mais do que isso jogar eu o limite de um short a maior 32 mil e pouco mas também tem limite o limite de um ente também é Dois Bilhões E se ela
quase não tenho medo vai digitar 3 milhões vocês não dá erro o limite de um longo é um limite bem grande A 5 A 599 quintilhões de trava lá mas tem gente vai escrever 10 quintilhões para você ver se não vai dar vai dar pau deu tem limite e também claro existem as possibilidades de digitação de valores quebradinhos tipo um e-mail existe a possibilidade digitar letra tudo isso daria erro na transformação para long e e seria pego e tratado aqui nesse pé tá então por isso tá tudo explicado que esses primeiros metros tá por isso
que a gente tem um todos os métodos menos nesse primeiro né Essa história de ketner forma Kate Number for no primeiro não tem por que não estou transformado em que no primeiro eu queria uma estranho e o método vigilante já me davam trem então não precisava ter nenhum tipo de transformação agora os outros que envolvem uma transformação Então pode dar erro nas transformação aí eu pego o erro indico como que eu quero tratar o rio Tá muito bom agora eu vou pular um cara eu vou para o hambúrguer depois eu volto lugar deixar o gatinho
hambúrguer ele é eu sigo com esses métodos anteriores que a gente acabou de ver mas ele tem umas pequenas diferenças Então vamos explicar quais seriam as pequenas diferenças e aqui eu também declaro meu bullying Hatch inicializa ele com falsiefalsi e001 boolean significa falso inicializei aí eu pego o professor digitou mas eu guardo o que a pessoa digitou não estranho Apesar de eu estar querendo retornar um bolo o meu método é de um bule mas eu pego que a pessoa digitou e guarda não sei para quê para fazer umas validações antes de passar por parece bula
aqui em cima Cês viram que eu já passava por parte da anbu a os trem vindo do Rede Lar já passava o parça último Strings and Red Line B Red Line eu já passava para o parça tá vendo mas no boolean eu não fiz isso no bolha eu guardei o Strike uma vai o sangue Fiz umas validações antes e só depois que eu passei por parseboolean por quê Porque os parses que a gente conheceu antes eles Vale dão me dá uma exceção então assim parece damo se eu passar uns pingo aqui mal formado né Estou
com letra ou então as trendys que tem um número muito grande que não cabe não dando ele vai dar não por forma que que será que eu vou tratar agora o parseboolean não faz esse tratamento é bom que eu sei disso eu conheço Facebook eu já conheço já faz um tempo vale documentação do parte bolo então sei que ele não faz essas validações bom então eu fiz as orientações antes tá eu peguei o que a pessoa visitou guardei numa Spring fiz as validações ossos trinfo louro bullying válido substring' não for rosa não não for e
com show e também não for e com os falsos pessoa escreveu outra coisa não era nem tio nem falso e doces são de bulli não vale então eu vá lhe dei antes de mandar transformar em bulha aqueles Trend e guardar numa variável que é do tipo bula você tá vendo antes de transformar Ed e guardar uma variável buna eu válida E por que que eu fiz essa atualização porque eu sei que o parse boolean não faz então eu fiz a e agora eu faço parece bolha percebo que aqui só tem um pet todos os outros
comparsas Tinham dois cats olha só que interessante aqui ó par sidamo tinha esse kit que todos têm e esse outro aqui do namoro forma Dixon esse outro aqui do numberformatexception todos Tinham dois estão vendo esse todos têm mas tinha esse que era específico aqui da transformação o parseboolean eu não tenho não tem o específico da transformação tem um outro Kate aqui embaixo se ele qat buhler forma que certinho não tem isso porque porque eu já expliquei para vocês o participo não válida ele não dali sessão então quê que eu fiz antes de transformar em bula
eu fiz as atualizações na mão Aí sim eu peguei os trens já estava validado trans a bula guardei No resto e torneio o resto tá então esse gadget ambulância pode ser diferente dos outros gestos que a gente tinha visto antes e esse Jetsons achar esse é bem diferente mesmo por isso que eu deixei ele para o fim e o gatinho shar shar E como que ele vai funcionar ele declaram chá coloca um espaço em branco aí Aqui também eu faço esse esquema tá de pegar o que a pessoa digitou e guardar um estendi faça um
esquema parecido com o do bulha é válido na mão tá como no caso do burro válido na mão Na verdade até faltou uma ligação copiá-la para cima tá aqui ó bom então válido na mão se os trens só que eu tô acharem válido né então assim para pessoa digitar umas trem de nolo eu dou essa exceção se a pessoa digitar uma stringhi com um tamanho que não é exatamente ombro fechar pode ter um em chora um só juntar se a pessoa digitar 10 chars 50 achar muito Charles qualquer quantidade de Charles que não seja o
diferente de honra perante Dion aí eu dou exceção Oi e aí então está bem parecido com o do bonequinho do bullying eu fazer o mesmo esquema ou do bula eu pegava fazer dilaine aqui também porque esses Verde Lar é só puxar depois no Burguer eu vá lhe dava aquilo válido tá só que aí no bullying eu fazer parte segura e agora no chá eu não faço para deixar então é isso faz o método get um charme ficar bem mais diferente ainda porque ele nem usa parce que ele usa se ele usa esse método aqui chá
F quer um método que existe na classe string ring que serve para pegar um caracter dos tem como eu pus aqui shared zero eu tô pegando o primeiro caractere e tem no spring se eu pusesse shared ou um pegar o segundo dois terceiro 344 Ah e assim por diante mas eu pus zero então eu tô pegando o primeiro caractere que tem no stringhi guardando a variável rede que eu tinha declarado e retornando ela então não tem par se para transformar string em shar o próprio strengthen um metro se chama achar é que serve para pegar
do strengh puxar que eu quiser qualquer um porque no caso eu quero 10 sempre vai ser zero por quê Porque eu sei que o comprimento é um público Bruno for diferente de uma lança seção então se eu cheguei aqui nessa linha é porque o comprimento não era diferente de um só tinha um chá aí eu vou lá e pego o primeiro que é o único só tenho e vou retornar Olá tudo bem Então esse é o nosso essa é a nossa classe teclado e agora pessoal vou mostrar para vocês um programinha que foi feito só
para testar a sua classe pecla tá E também para mostrar para vocês aqui como fazer um problema resistente a falhas Esse programa aqui você pode digitar a burrada que você quiser o programa não capota o programa segue em frente e ele se recupere a visão os erros e toca em frente e ver só Antes de mostrar o programa vou mostrar para vocês vou compilar ou compilar que a classe teclado um papel e depois o compilar a classe teste de teclado compartilhe o Bila e agora eu vou executar observa em só ele me deu umas opções
aí estão extends downward tá um short aumente logo só te dá gostaram bula ou ainda opção de sair Digamos que eu digito umas bobagens tá que que ele faz opção invalida tente novamente Não capota aí eu vou digitar um Spring então opção a ele fala Digite o valor para um espelho aí eu venho aqui e digito já aí ele fala foi digitado Java e troca o toque em frente não tem Spring errado né eu posso digitar escolher opção a de novo se eu digitar um monte de caracteres nada a ver ele fala foi digitado um
monte de nada a ver não é errado isso é um 30 então que o trem está tudo bem né é só opção b é para byte olha quanto borrada eu posso fazer mas o programa detecta e segue em frente a testa avisa e tocar posso digitar letras ele avisa vai ativar de novo opção b posso digitar um número meio grandinho que não cabe num bike do Zé Ruela não cabe no até cento e 127 em aí Olá byte válido a transformação de 200 para baixo porque porque nunca 200 não vai parte maior que tem 127
tá ainda baby que digita o número quebradinho 1.5 Haiti vale então eu posso digitar a bobagem que for ele detecta avisa pode frente e isso vale para todos boa sorte Se eu chegar aqui digitar são ser um short e eu digitar um número meio grande tipo assim 40.000 não cabe no short eu lhe aviso shortinho lá agora seu digital vamos pegar opção b de novo a opção C eu quero tarde eu digitar o novo valor assim a 32.700 e pouco o maior short que tenha 32 mil setecentos e pouco 32.700 está dentro mas eu sei
só acreditar 2.700 você digitar coisas válidas e não sei se não desista Vale da exceção eu proposição e o programa prossegue programa não capota porque eu digitei besteira em toca em frente de técnicas externas ele trata sistemas ele toca em frente isso para todos os buscar fazendo um por um que demoraria bastante aí e as pessoas vão entender tá então agora opção JD sair Já saiu do programa vamos dar uma olhada como que esse programa foi feito primeiramente tenho Pixar opção em um look e dentro deste loop eu mostro um menu a digitar árvores dar
uns trem aqui beijo tá não vai estar um Solitário mente logo e volte dava um charme estar um bom sair e aí junto opção pontos de interrogação aí o que eu faço estou usando a classe teclado aqui ó teclado fechar-se a pessoa digitar qualquer coisa errada esse quietinho manchar de techlan sessão Então o que eu fiz aqui usei o teclado. Edson sire se transformem em letra minúscula e a classe carácter é uma classe rapper tem esse método aqui ó your Keys tô transformar em letra minúscula transformei e guardei aqui na variável opção que essa variável
short eu tinha declarado antes da minha repetição dessa repetição para esse menu ficar sendo mostrar o mostrar mostrar o mostrado sua escola e Acontece uma opção da o propósito de novo escolhe outra opção acontece a outra opção até que finalmente ele escolha a opção de sair então para esse menos e mostrar o re mostrado o rei mostrado várias vezes tem essa repetição aqui tá aí pessoal depois né de eu te pego um shar3 formado em minúsculo e Guardado na variável opção esse método aqui olha não afeta nada senão a representação digitar, ele não vai dar
nenhum problema quando eu mando transformar em minúsculo tá ele não dá problema nenhum fica, mesmo não muda nada mas se eu digitar letra apresentação a maiúsculo a esse método transforma em ali novo esse método aqui só tem efeito em letras não for letra ele não dá erro não mas ele também não faz em uma mudança se eu pegar uma, professores ou, mandar transformar em minhoso pulo ele transforma de novo fica como escrever no mesmo muda nada tá então aqui vai ter a opção que a pessoa digitou já há transformado en novo aí o que eu
faço logo em seguida e eu faço se der erro que a pessoa pode digitar uma bobagem né Por exemplo Digamos que aqui em cima a pessoa digita uma coisa que não é achar vou rodar o programa de novo dinâmica digita uma coisa que não é charta é um monte de letras não é o Charles um monte de Charles não é fechar Então vai daí Olha como que vai acontecer o erro o gatilho charlan sessão em get manchar lançar extensão hora que ele pegar isso que eu digitei aqui pela cessão e apareceu que opção embora não
tente novamente mas veja como essa mensagem apareceu eu digitei essas bobagem aqui e o get charm Já verificou o cumprimento do stringhi digitado ao cumprimento do indigitado o cumprimento dele é diferente on at de onde tem um monte de besteira ao fato de se ter ideia o comprimento era maior do que o Sim não era igual diferente de um então ele lançou esse são deixar inválido lançou exceção deixar inválido aqui deu esses são né Ele veio para esse qat e nem sequer tchau que ele fez ele fez opção igual a z Por que que ele
fez isso porque não variável são ela é do tipo puxar não dá para colocar tudo aquelas besteiras que eu digitei então eu coloco Z Eu sei que é uma opção válida pesar eles vão até J tá vendo Então quando você digita um monte de letra da exceção deu esse e aqui como que Eu tratei a exceção colocando Z e agora só colocar e trata exceção agora na hora que eu tiver analisando aqui opção é a opção é bem não vai ser nenhuma delas nem joga vai cair aqui porque não é nenhuma das opções acima que
são as válidos né ah eu aqui e das amizades opção igual a vida tente novamente talvez aqui interessante como que eu fiz o esquema para tratar quando a criatura do mal lá que tá usando meu problema digita um monte de fechar na opção quando devia digitação um então um monte a hora que eu fiz Dizem que o monte e o teclado no método de chan chan percebeu que o comprimento é diferente John lançou exceção e lançou exceção eu estou aqui dentro de um free-cash tentei ler alguma coisa do teclado deu erro vem aqui tem aqui
faz o que opção Z não porque dizer tanto faz pode por opção Zebu só um w opção@opção, quando você quiser que desde que não seja válido Eu pus uma opção aqui que eu sabia que estava em vale para que para ele cair aqui nesse dephol e pintar na tela opção engole pede novamente eu contratei o erro desse jeito a criatura maligna digitor vários Charles esse método lançou Esses são caiu aqui como que eu vou tratar essa exceção o Oi e esse Z me levou a cair aqui vou te dar o sangue Vale tente novamente Agora
eu tenho bem Cariri aqui você criatura maligna digitar si mesmo a letra z mãe então se eu chegasse aqui ó e digitar a si mesmo e eu dar mesmo é Robson em vasinhos novamente só que agora o fluxo lá dentro do seu problema seria diferente porque eu digitei um chars ó tá vendo Então que queria acontecer lá no teclado creations are ele ia ver o cumprimento do que foi digitado é diferente Ou não não é prende uma essa cumprimento um fez o a letra z Inter não ia da exceção ele ia me dar o caracter
zero desses tem que ela trazer ele ia retornar fazer um a hora que ele retorna a letra z aqui no meu programa O que que eu faço pego a letra z que ele retornou transforma letra do hino pula guarda no variável opção E aí não quero essa história aqui tá porque que não deu exceção dessa vez mas tem sei aqui do mesmo jeito não tem ele vai cair aqui do mesmo jeito que vai dar a mesma mensagem que você vai fazer tente novamente isso aconteceria se a criatura digitadora do Mal digitais qualquer coisa errada digitar
se lmn digitar a senha 123 digitasse,; digitar se@hashtag o que coisa que ele digitar que não sejam essas letrinhas e a b c d e f g h i j no forças letrinha ele cai aqui no caso contrário e da mensagem São Vale e quando Creator digita várias letras eu forço a opção ficar Z para força a cair aqui nesse de fol e da Opção limpar tá ela morreu o que acontece ele digital opções vai se ele digitou a que era para digitar Uns trem aí tem que vai acontecer no meu programa eu peço de
urgente um valor com string eu declaro uns 30 tégula e quadro para obter um sem e pronto naquela foi digitado ou Spring só que está dando um trem então se der um erros é porque eu falei se você precisa escolher bebê desde o valor não vai te peguei teclado. Gatinho Bert guardei na variável do tipo byte e printei foi digitado B mas Digamos que a pessoa que ela digitando digitou 200 que é um número Grande para um bar esse método ela só isenção Por que que ele vai dançar esse são porque vai dar erro nessa
transformação aqui ó e vai dar erro nessa transformação aquele for transformar o que foi digitado em byte 200 vai dar eu que não cabe não bate então e Léo sessão e deu erro caiaque e lance só vai te embora na hora que aqui no meu programa eu mandei Leon by e deu esse são para tudo não executa assista não executa Break para tudo porque deu erro aqui quando você tá dentro de um trai e acontece um erro não certo comando para tudo o não executa mais nada e vai direto pro e não qat ele tá
pintando aqui ó vocês têm ponto e rr.pt né erro que essa minha Exception. Get messy está pintando a mensagem que tá lá dentro da minha exceção que era bike inválido Aí como eu tô dentro de uma repetição não fazendo uma repetição volta lá e sido é uma repressão do tipo do alho né ela o que produto depois que deu a mensagem de erro nosso melhor de novo fica aí eternamente mesmo que a pessoa faça erro quando dos programas vai acabar quando eu criatura digitar J que a opção para sair porque aí eu vi que vai
acontecer eu vou entrar aqui nessa opção J não vou fazer nada sentir vou digitar um bula digite achar Digite o que for nós vamos fazer nessa história de digitar mas caso aqui do J não faço nada e Grey esse Break para o meu suíte Neto dentro de 1 suíte dele para o meu suíte aquele Break né e acontece que quando para os ue acontece que eu chego aqui nesse Laio enquanto a opção for diferente DJ agora era jovem se fosse ABC o pezinho ele iria ficar louco porque fecharem DJ ele só sai quando for JC
pedido de trazer e não faz tempo solicitar várias letras e eu enfim automaticamente seu digitou várias letras e eu enfiei aqui um z na opção não sai da repetição porque ele sai da repetição só quando for jovem com for diferente J5 a nossa repetição Então esse é o nosso probleminha aqui ilustra duas coisas importadas primeiro o uso dessa classe teclado que nos ensina como digitar dados em jarra e que mais que esse programa ilustra ilustra como fazer um programa que não capota esse programa um capota por digitar bobagem que for não termina ele toca em
frente da Anvisa tá errado e ele segue e isso é muito legal a gente disse que um programa assim é um programa resistente a fadas as pessoas podem errar e o programa resistir resistir resistir tá certo é isso espero que todos vocês tenham entendido essa aula sobre digitação de dados p