programação de computadores iianselmo/cursos/progii/apresentacoes... · este objeto é...

Post on 20-Jul-2020

0 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

ProgramaçãodeComputadoresII

TCC‐00174Profs.:AnselmoMontenegro(1)&MarcosLage(2)

(1)www.ic.uff.br/~anselmo(2)www.ic.uff.br/~mlage

Conteúdo:EntradaeSaídadedados.

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

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

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

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

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

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.

In/Out

24/08/11 ProgramaçãodeComputadoresII 8

Lendodaentradapadrão

Ouso do objetoSystem.inémais complexo que odoSystem.out:OobjetoSystem.inlêumbitporvez.

Tipicamentedesejaremoslermaisdeumbitporvez.

In/Out

24/08/11 ProgramaçãodeComputadoresII 9

Lendodaentradapadrão

Passoàpassoparaaleituradeumalinha:Passo1:Criarumobjetodo\poInputStreamReaderLeiturabitabitPasso2:Criarumobjetodo\poBufferedReaderLeituradeumalinhadetexto(atéumcaracter‘\n’)Passo3:UsarométodoreadLinedaclasseBufferedReder.

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();}

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();...

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);...}

In/Out

24/08/11 ProgramaçãodeComputadoresII 13

ClasseScanner

OJava incluiumaclasseparatornaraentradaviatecladomaissimples:ScannerPara usarmos a classe Scanner precisamos docomando:importjava.util.Scanner

In/Out

24/08/11 ProgramaçãodeComputadoresII 14

ClasseScanner

Para criar um objeto da classe Scanner devemosindicaroobjetoSystem.in:Scannerkeyboard=newScanner(System.in);

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’

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.

In/Out

24/08/11 ProgramaçãodeComputadoresII 17

ClasseScanner

Ex:Dadoocódigo:Stringword1=keyboard.next();Stringword2=keyboard.next();Eaentradaviateclado:casacarroOvalordeword1serácasa,eovalordeword2serácarro.

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();}

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?

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.

In/Out

24/08/11 ProgramaçãodeComputadoresII 21

Saídagráfica

Exemplo01:importjavax.swing.*;...publicstaticvoidmain(String[]args){JOptionPane.showMessageDialog(null,“Estaéumajaneladediálogocriadanocentrodatela”);}

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”);}

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);}

top related