programação de computadores iianselmo/cursos/progii/apresentacoes... · este objeto é...
TRANSCRIPT
![Page 1: Programação de Computadores IIanselmo/cursos/ProgII/apresentacoes... · Este objeto é automacamente criado pelo Java. Controlado por 2 métodos: print(): Imprime uma saída no](https://reader034.vdocuments.mx/reader034/viewer/2022050209/5f5c0cb1a367374313654a26/html5/thumbnails/1.jpg)
ProgramaçãodeComputadoresII
TCC‐00174Profs.:AnselmoMontenegro(1)&MarcosLage(2)
(1)www.ic.uff.br/~anselmo(2)www.ic.uff.br/~mlage
Conteúdo:EntradaeSaídadedados.
![Page 2: Programação de Computadores IIanselmo/cursos/ProgII/apresentacoes... · Este objeto é automacamente criado pelo Java. Controlado por 2 métodos: print(): Imprime uma saída no](https://reader034.vdocuments.mx/reader034/viewer/2022050209/5f5c0cb1a367374313654a26/html5/thumbnails/2.jpg)
In/Out
EmJavaexistemdiversasformasdetratarmosaentradaesaídadedados:
Atravésdatela(console); Atravésdejanelasgráficas(diálogos); Atravésdearquivos; Etc...
24/08/11 ProgramaçãodeComputadoresII 2
Introdução
Consoleediálogos
![Page 3: Programação de Computadores IIanselmo/cursos/ProgII/apresentacoes... · Este objeto é automacamente criado pelo Java. Controlado por 2 métodos: print(): Imprime uma saída no](https://reader034.vdocuments.mx/reader034/viewer/2022050209/5f5c0cb1a367374313654a26/html5/thumbnails/3.jpg)
In/Out
Nosacostumamosaescreverlinhasdecódigocomo:System.out.println(“NomedoAluno:”+nome);System.out.println(“VelocidadedoCarro:”+10);
Quando desejamos precisamos enviarmensagens ao usuário atravésdoconsole.“Console”=“commandwindow”(Windows)
=“terminal”(Linux,Mac)OTermosaídapadrão(stdout)serefereaeste\podesaídadedados.
24/08/11 ProgramaçãodeComputadoresII 3
Introdução
![Page 4: Programação de Computadores IIanselmo/cursos/ProgII/apresentacoes... · Este objeto é automacamente criado pelo Java. Controlado por 2 métodos: print(): Imprime uma saída no](https://reader034.vdocuments.mx/reader034/viewer/2022050209/5f5c0cb1a367374313654a26/html5/thumbnails/4.jpg)
In/Out
O objeto System.out gerencia a tarefa de escrevermos a saída doprogramanodisposi\vodesaídapadrão.
Obs:Esteobjetoéautoma\camentecriadopeloJava.Controladopor2métodos:print():Imprimeumasaídanoconsole.println():Imprimeumasaídanoconsoleepulaumalinha.
24/08/11 ProgramaçãodeComputadoresII 4
Escrevendonasaídapadrão
![Page 5: Programação de Computadores IIanselmo/cursos/ProgII/apresentacoes... · Este objeto é automacamente criado pelo Java. Controlado por 2 métodos: print(): Imprime uma saída no](https://reader034.vdocuments.mx/reader034/viewer/2022050209/5f5c0cb1a367374313654a26/html5/thumbnails/5.jpg)
In/Out
OsmétodosSystem.out.print[ln]podemrecebercomoargumento: UmaString
System.out.print(“Entrecomonúmerodetentativas”);
Umnúmeroouumavariávelintx=56;System.out.print(x);System.out.println(18.45);
Combinaçõesdoscasosanterioresfloatmedia=calculaMedia();System.out.println(“Amédiadaprovafoi:”+media);
24/08/11 ProgramaçãodeComputadoresII 5
Escrevendonasaídapadrão
![Page 6: Programação de Computadores IIanselmo/cursos/ProgII/apresentacoes... · Este objeto é automacamente criado pelo Java. Controlado por 2 métodos: print(): Imprime uma saída no](https://reader034.vdocuments.mx/reader034/viewer/2022050209/5f5c0cb1a367374313654a26/html5/thumbnails/6.jpg)
In/Out
Obs:Usamosooperador+paracombinarmosítemnasaída.Ex:1.floatmedia=calculaMedia();...System.out.print(“Alunoscomnotaacimade”);System.out.print(media);System.out.print(“estãoaprovados\n”);2.floatmedia=calculaMedia();...System.out.println(“Alunoscomnotaacimade”+media+“estãoaprovados”);
24/08/11 ProgramaçãodeComputadoresII 6
Escrevendonasaídapadrão
![Page 7: Programação de Computadores IIanselmo/cursos/ProgII/apresentacoes... · Este objeto é automacamente criado pelo Java. Controlado por 2 métodos: print(): Imprime uma saída no](https://reader034.vdocuments.mx/reader034/viewer/2022050209/5f5c0cb1a367374313654a26/html5/thumbnails/7.jpg)
In/Out
24/08/11 ProgramaçãodeComputadoresII 7
Lendodaentradapadrão
OobjetoSystem.ingerencia a tarefa de lermos dadps a par\r dodisposi\vodeentradapadrão.
Obs:Esteobjetoéautoma\camentecriadopeloJava.OTermoentradapadrão(stdin)serefereaentradadedadosapar\rdoconsole.
![Page 8: Programação de Computadores IIanselmo/cursos/ProgII/apresentacoes... · Este objeto é automacamente criado pelo Java. Controlado por 2 métodos: print(): Imprime uma saída no](https://reader034.vdocuments.mx/reader034/viewer/2022050209/5f5c0cb1a367374313654a26/html5/thumbnails/8.jpg)
In/Out
24/08/11 ProgramaçãodeComputadoresII 8
Lendodaentradapadrão
Ouso do objetoSystem.inémais complexo que odoSystem.out:OobjetoSystem.inlêumbitporvez.
Tipicamentedesejaremoslermaisdeumbitporvez.
![Page 9: Programação de Computadores IIanselmo/cursos/ProgII/apresentacoes... · Este objeto é automacamente criado pelo Java. Controlado por 2 métodos: print(): Imprime uma saída no](https://reader034.vdocuments.mx/reader034/viewer/2022050209/5f5c0cb1a367374313654a26/html5/thumbnails/9.jpg)
In/Out
24/08/11 ProgramaçãodeComputadoresII 9
Lendodaentradapadrão
Passoàpassoparaaleituradeumalinha:Passo1:Criarumobjetodo\poInputStreamReaderLeiturabitabitPasso2:Criarumobjetodo\poBufferedReaderLeituradeumalinhadetexto(atéumcaracter‘\n’)Passo3:UsarométodoreadLinedaclasseBufferedReder.
![Page 10: Programação de Computadores IIanselmo/cursos/ProgII/apresentacoes... · Este objeto é automacamente criado pelo Java. Controlado por 2 métodos: print(): Imprime uma saída no](https://reader034.vdocuments.mx/reader034/viewer/2022050209/5f5c0cb1a367374313654a26/html5/thumbnails/10.jpg)
In/Out
24/08/11 ProgramaçãodeComputadoresII 10
Lendodaentradapadrão
importjava.io.*;...publicstaticvoidmain(String[]args){InputStreamReaderin=newInputStreamReader(System.in);BufferedReaderbr=newBufferedReader(in);Stringname,ageStr;System.out.println(“Qualoseunome?”);name=br.readLine();System.out.println(“Qualsuaidade?”);ageStr=br.readLine();}
![Page 11: Programação de Computadores IIanselmo/cursos/ProgII/apresentacoes... · Este objeto é automacamente criado pelo Java. Controlado por 2 métodos: print(): Imprime uma saída no](https://reader034.vdocuments.mx/reader034/viewer/2022050209/5f5c0cb1a367374313654a26/html5/thumbnails/11.jpg)
In/Out
24/08/11 ProgramaçãodeComputadoresII 11
Lendodaentradapadrão
LeituradedadosnuméricosNo exemplo anterior, a idade é um dado numérico.Entretanto,aleituratrataovalorcomoumaString:ageStr=br.readLine();Precisamosconverternúmerosmanualmente:Inteiros:Integer.parseInt();Float:Float.parseFloat();...
![Page 12: Programação de Computadores IIanselmo/cursos/ProgII/apresentacoes... · Este objeto é automacamente criado pelo Java. Controlado por 2 métodos: print(): Imprime uma saída no](https://reader034.vdocuments.mx/reader034/viewer/2022050209/5f5c0cb1a367374313654a26/html5/thumbnails/12.jpg)
In/Out
24/08/11 ProgramaçãodeComputadoresII 12
Lendodaentradapadrão
importjava.io.*;...publicstaticvoidmain(String[]args){InputStreamReaderin=newInputStreamReader(System.in);BufferedReaderbr=newBufferedReader(in);Stringname,ageStr;System.out.println(“Qualoseunome?”);name=br.readLine();System.out.println(“Qualsuaidade?”);ageStr=br.readLine();intage=Integer.parseInt(ageStr);...}
![Page 13: Programação de Computadores IIanselmo/cursos/ProgII/apresentacoes... · Este objeto é automacamente criado pelo Java. Controlado por 2 métodos: print(): Imprime uma saída no](https://reader034.vdocuments.mx/reader034/viewer/2022050209/5f5c0cb1a367374313654a26/html5/thumbnails/13.jpg)
In/Out
24/08/11 ProgramaçãodeComputadoresII 13
ClasseScanner
OJava incluiumaclasseparatornaraentradaviatecladomaissimples:ScannerPara usarmos a classe Scanner precisamos docomando:importjava.util.Scanner
![Page 14: Programação de Computadores IIanselmo/cursos/ProgII/apresentacoes... · Este objeto é automacamente criado pelo Java. Controlado por 2 métodos: print(): Imprime uma saída no](https://reader034.vdocuments.mx/reader034/viewer/2022050209/5f5c0cb1a367374313654a26/html5/thumbnails/14.jpg)
In/Out
24/08/11 ProgramaçãodeComputadoresII 14
ClasseScanner
Para criar um objeto da classe Scanner devemosindicaroobjetoSystem.in:Scannerkeyboard=newScanner(System.in);
![Page 15: Programação de Computadores IIanselmo/cursos/ProgII/apresentacoes... · Este objeto é automacamente criado pelo Java. Controlado por 2 métodos: print(): Imprime uma saída no](https://reader034.vdocuments.mx/reader034/viewer/2022050209/5f5c0cb1a367374313654a26/html5/thumbnails/15.jpg)
In/Out
24/08/11 ProgramaçãodeComputadoresII 15
ClasseScanner
AclasseScannercontémmétodosparaaleitura:Devaloresinteiros:intidade=keyboard.nextInt();Devaloresdouble:floatpreco=keyboard.nextFloat();DevaloresString:Stringword1=keyboard.next();Dapróximalinha:Stringline=keyboard.nextLine();obs:aleituradalinhaacabaemumcaracter‘\n’
![Page 16: Programação de Computadores IIanselmo/cursos/ProgII/apresentacoes... · Este objeto é automacamente criado pelo Java. Controlado por 2 métodos: print(): Imprime uma saída no](https://reader034.vdocuments.mx/reader034/viewer/2022050209/5f5c0cb1a367374313654a26/html5/thumbnails/16.jpg)
In/Out
24/08/11 ProgramaçãodeComputadoresII 16
ClasseScanner
Entradas mul\plas devem ser separadas porWhitespaces e lidas por mul\plas chamandas dométodoapropriado:Whitespaces são string de caracteres tais como:espaço,tabulaçõesequebrasdelinha.
![Page 17: Programação de Computadores IIanselmo/cursos/ProgII/apresentacoes... · Este objeto é automacamente criado pelo Java. Controlado por 2 métodos: print(): Imprime uma saída no](https://reader034.vdocuments.mx/reader034/viewer/2022050209/5f5c0cb1a367374313654a26/html5/thumbnails/17.jpg)
In/Out
24/08/11 ProgramaçãodeComputadoresII 17
ClasseScanner
Ex:Dadoocódigo:Stringword1=keyboard.next();Stringword2=keyboard.next();Eaentradaviateclado:casacarroOvalordeword1serácasa,eovalordeword2serácarro.
![Page 18: Programação de Computadores IIanselmo/cursos/ProgII/apresentacoes... · Este objeto é automacamente criado pelo Java. Controlado por 2 métodos: print(): Imprime uma saída no](https://reader034.vdocuments.mx/reader034/viewer/2022050209/5f5c0cb1a367374313654a26/html5/thumbnails/18.jpg)
In/Out
24/08/11 ProgramaçãodeComputadoresII 18
CasseScanner
importjava.io.*;...publicstaticvoidmain(String[]args){Scannerin=newScanner(System.in);Stringname;System.out.println(“Qualoseunome?”);name=in.next();intage;System.out.println(“Qualsuaidade?”);age=in.nextInt();}
![Page 19: Programação de Computadores IIanselmo/cursos/ProgII/apresentacoes... · Este objeto é automacamente criado pelo Java. Controlado por 2 métodos: print(): Imprime uma saída no](https://reader034.vdocuments.mx/reader034/viewer/2022050209/5f5c0cb1a367374313654a26/html5/thumbnails/19.jpg)
In/Out
24/08/11 ProgramaçãodeComputadoresII 19
ClasseScanner
Desafio:DadooCódigo:Scannerkeyboard=newScanner(System.in);intn=keyboard.nextInt();Strings1=keyboard.nextLine();Strings2=keyboard.nextLine();Eaentrada:2Carrossãomaiscarosque1Casa.Quaisosvaloresden,s1es2?
![Page 20: Programação de Computadores IIanselmo/cursos/ProgII/apresentacoes... · Este objeto é automacamente criado pelo Java. Controlado por 2 métodos: print(): Imprime uma saída no](https://reader034.vdocuments.mx/reader034/viewer/2022050209/5f5c0cb1a367374313654a26/html5/thumbnails/20.jpg)
In/Out
24/08/11 ProgramaçãodeComputadoresII 20
Saídagráfica
Consiste em criar uma janela na tela contendo amensagemdesejada.Podeserfeitausando:1. JFrame2. JDialog
Trabalharemos,porenquanto,comoJDialog.
![Page 21: Programação de Computadores IIanselmo/cursos/ProgII/apresentacoes... · Este objeto é automacamente criado pelo Java. Controlado por 2 métodos: print(): Imprime uma saída no](https://reader034.vdocuments.mx/reader034/viewer/2022050209/5f5c0cb1a367374313654a26/html5/thumbnails/21.jpg)
In/Out
24/08/11 ProgramaçãodeComputadoresII 21
Saídagráfica
Exemplo01:importjavax.swing.*;...publicstaticvoidmain(String[]args){JOptionPane.showMessageDialog(null,“Estaéumajaneladediálogocriadanocentrodatela”);}
![Page 22: Programação de Computadores IIanselmo/cursos/ProgII/apresentacoes... · Este objeto é automacamente criado pelo Java. Controlado por 2 métodos: print(): Imprime uma saída no](https://reader034.vdocuments.mx/reader034/viewer/2022050209/5f5c0cb1a367374313654a26/html5/thumbnails/22.jpg)
In/Out
24/08/11 ProgramaçãodeComputadoresII 22
Saídagráfica
Exemplo02:importjavax.swing.*;...publicstaticvoidmain(String[]args){JFramewin=newJFrame();win.setSize(200,200);win.setVisible(true);JOptionPane.showMessageDialog(win,“Estaéumajaneladedialogocriadaemumaposiçãoespecífica”);}
![Page 23: Programação de Computadores IIanselmo/cursos/ProgII/apresentacoes... · Este objeto é automacamente criado pelo Java. Controlado por 2 métodos: print(): Imprime uma saída no](https://reader034.vdocuments.mx/reader034/viewer/2022050209/5f5c0cb1a367374313654a26/html5/thumbnails/23.jpg)
In/Out
24/08/11 ProgramaçãodeComputadoresII 23
Entradagráfica
Recebeosdadosatravésdeumdiálogoexibidonatela.Muitoparecidocomosdiálogosdesaida.Exemplo:importjavax.swing.*;...publicstaticvoidmain(String[]args){Stringname,ageStr;name=JOptionPane.showInputDialog(null,“Qualoseunome?”);ageStr=JOptionPane.showInputDialog(null,“Quaasuaidade?”);intage=Integer.parseInt(ageStr);}