Sunteți pe pagina 1din 25

Java (I/E) -

Operatii de Intrare/iEsire
Operatii de I/E (intrare = citire /
iesire = afisare):
1. in mod text
2. I/E in mod grafic:
 Cu metode predefinite
 Cu interfata construita de programator
I/E in mod text
 Afisarea datelor de I/E se face utilizand
caractere alfanumerice (litere si cifre);
 Viteza de afisare este mare, memoria
consumata putina;
 Este specific aplicatiilor ce utilizeaza
interfete de tip linie comanda;
 Mediul JDeveloper trebuie configurat
pentru a permite operatiile de Intrare.
Configurare JDeveloper
pentru I/E in mod text - 1
 Run >
 Choose Active Run
Configuration >
 Manage Run
Configuration
Configurare JDeveloper
pentru I/E in mod text - 2
1. Run/Debug
2. Edit 2
3. Tool Settings
4. Allow Program Input 1

5. OK 3

4 5
Configurare JDeveloper
pentru I/E in mod text - 3
1. Lansarea in executie
a aplicatiei 1
2. Linia de introducere
a datelor

2
Codul aplicatiei Masa Ideala
– var. 1 (I/E in mod text)
import java.util.Scanner;
public class MasaIdealaV1 {
public static void main(String[] args) {
//declaratii de variabile locale
double masa, varsta, inaltimea;
Scanner intrare;
intrare = new Scanner(System.in);

//mod text iEsire > afisarea pe ecran a textului Ce varsta ai:


System.out.print("Ce varsta ai: ");
//mod text Intrare > citirea unui numar real de la tastatura
varsta = intrare.nextFloat();

System.out.print("Ce inaltime ai: ");


inaltimea = intrare.nextFloat();

masa = 50 + 0.75 * (inaltimea-150) + 0.25 * (varsta - 20);

System.out.println("Masa ideala (barbat) = " + masa + " kg");


System.out.println("Masa ideala (femeie) = " + 0.9*masa + " kg");

}
}
De retinut !
 Cod iEsire in mod text:
System.out.print("Ce varsta ai: ");
sau
System.out.print("Barbat: "+masa+"kg");
 Cod Intrare in mod text:
 Declaratii:
Scanner intrare;
intrare = new Scanner(System.in);
 Citire real (float): intrare.nextFloat();
 Citire intreg (int): intrare.nextInteger();
I/E in mod grafic predefinit
 Adaptorul video lucreaza in mod grafic
generand pixeli si nu caractere;
 Conversatia se face prin ferestre de dialog;
 Forma si organizarea acestor ferestre este
predefinita;
 programatorul trebuie sa cunoasca numele
si structura fiecarui element de I/E
predefinit.
Codul aplicatiei Masa Ideala
– var. 2 (I/E in mod grafic)
import javax.swing.JOptionPane;
public class MasaIdealaV2 {
public static void main(String[] args) {
//declaratii de variabile locale
float masa, inaltimea;
int varsta;

//afisarea pe ecran a ferestrei de dialog Ce varsta ai:


String intrare = JOptionPane.showInputDialog("Ce varsta ai: ");
//citirea unui numar real de la tastatura
varsta = Integer.parseInt(intrare);

intrare = JOptionPane.showInputDialog("Ce inaltime ai (in cm): ");


inaltimea = Float.parseFloat(intrare);

masa = 50F + 0.75F * (inaltimea-150F) + 0.25F * (varsta - 20F);

String masaideala = "Barbat = " + masa + " kg\n";


masaideala = masaideala + "Femeie = " + 0.9*masa + " kg";

JOptionPane.showMessageDialog(null, masaideala,"Masa ideala",


JOptionPane.INFORMATION_MESSAGE);
}
}
De retinut !
 Cod Intrare in mod grafic predefinit:
 iEsire cu citirea unei date de intrare:
in = JOptionPane.showInputDialog("Ce..");
varsta = Integer.parseInt(in);
sau
inaltimea = Float.parseFloat(in);
 Cod iEsire in mod grafic predefinit:
JOptionPane.showMessageDialog(null,
masaideala,"Masa ideala",
JOptionPane.INFORMATION_MESSAGE);
I/E in mod grafic definit de
utlizator
 Etapele crearii unei intefete grafice definite
de utilizator:
 Se creeaza 1 aplicatie noua: AppCeltoFahr;
 Se creeaza 1 proiect nou: PrCeltoFahr;
 Se creeaza 1 frame nou: FrCeltoFahr;
 Se plaseaza componentele pe suprafata frame-
ului;
 Se scrie codul asociat fiecarei componente.
Modul grafic predefinit:
etapele 1, 2 si 3 (clic pt. avans)
Modul grafic predefinit:
etapa 4/1 (clic pt. avans)
 Adaugarea componentelor pe suprafata
farme-ului:
 Fereastra componentelor (Components) se face
vizibila din View > Component Palette;
 Categoria de componente utilizate de numesc
Swing, dintre acestea in aplicatie se folosesc:
 JButton,
 JLabel,
 JTextField.
Modul grafic predefinit:
etapa 4/2 (clic pt. avans)
 Selectam componenta Swing JTextField;
 Desenam un dreptunghi pe suprafata
frame-ului tinand butonul stang e mouse
apasat;
2 1
 Pe suprafata frame-ului apare obiectul creat
pe baza componentei; In fereastra
Structure (stanga-jos) apare numele noului
obiectul creat > JTextField1.
 Numele identifica unic obiectul in cod.
Modul grafic predefinit:
etapa 4/3

Dupa procedura
descrisa inainte
se pozitioneaza
si celelalte
obiecte de
interfata grafica.
Modul grafic predefinit:
etapa 4/4 - Redenumire
 Obiectele create
dupa aceasta 3
procedura primesc
nume implicite.
1
 Este normal ca

acestea sa 2
primeasca nume 4
specifice
seminficatie lor
 Redenumirea se
5
face conform ... Obiectele aplicatie
etapelor 1-5 din
redenumite
figura alaturata
Modul grafic predefinit:
etapa 4/5 – Atribute
 Obiectele
au asociate
1
atribute
(proprietati). 2
 Cele legate de
3
aspectele vizuale iau
valori implictie. Dupa
procedura alaturata ele
se modifica pentru
afisarea unor informatii
corespunzatoare ...
contextului in care
apare obiectul.
Modul grafic predefinit:
etapa 4/5 – Cod obiectelor
 Elementul de interfata Clic
dublu
prin care aplicatia se
Scrie codul
porneste este butonul
Convert. Apoi scrie si
codul
 Codul asociat apasarii

butonului se scrie intr-


un loc special. Se face
clic dublu pe buton iar
mediul deschide
automat locul in care se
scrie codul.
 Pentru ca aplicatia sa

fie executabila mai


trebuie introdus un cod
Modul grafic predefinit:
etapa 4/6 – Cod obiectelor
Codul scris cu negru este creat de gerenatorul de cod din JDeveloper.
Programatrul are de scris doar partea cu verde.
private void convertButton_actionPerformed(ActionEvent e) {
// >>> codul incepe aici si este
int tempFahr = (int)((Double.parseDouble(tempTextField.getText()))* 1.8 + 32);
fahreheitLabel.setText(tempFahr + " Fahrenheit");
// >>> si se termina aici
}

Codul urmator, scris cu verde, trebuie introdus de programator.


Acesta defineste metoda (functia) main(), punctul de intrare in program
cand acesta este lansta in executie.

public static void main(String[] args) {


FrCeltoFahr ob = new FrCeltoFahr();
ob.setVisible(true);
}
De retinut !
 Cod Intrare in mod grafic definit de
utilizator (tempTextField este
JTextField):
tempTextField.getText()

Cod iEsire in mod grafic definit de


utilizator (fahreheitLabel este JLabel):
fahreheitLabel.setText(tempFahr + "Fah..")
Intrebari ? (clic pt. raspunsuri)
 Ce inseamna I/E? > Intrare/iEsire
 Cate moduri de I/E avem in > text, predefinit si
Java? definit de utilizator
 Care mod este folosit in
aplicatiile de tip linie comanda? > text
 Care mod I/E permite
realizarea unor intefete
complexe ce pot imita
> definit de utilizator
formulare?
Aplicatii - 1 (clic pt. raspunsuri)
1. Ce atribute vizuale se modifica pentru a obtine interfata?
• Selectam pe farenheitLabel
• In fereastra de atribute (proprietati) vizuale (Visual)
se bifeaza opaque
• Proprieteatea background se pune pe negru
(black)
• Proprietatea foreground se pune pe alb (white)
2. Ce actiuni se fac pentru adaugarea unui buton de
Iesire care sa contina codul Java: System.exit(0); ?
• Din Components selectam JButton
• Desenam butonul de comanda tinand butonul stang
apasat
• In fereastra de atribute (proprietati) vizuale (Visual)
modificam proprietatea text in Iesire
• Facem clic dublu pe buton si scriem codul cu verde:
private void jButton1_actionPerformed(ActionEvent e) {
System.exit(0);
}
Aplicatii - 2 (clic pt. raspunsuri)
3. Ce actiuni se fac pentru adauga la interfata si
conversia gradelor Celsius in Kelvin cunoscand
relatia K=C+273.14 ?
• Din Components selectam JLabel
• Desenam un JLabel nou. Numele implicit va fi
jLabel1.
• Facem clic dublu pe butonul Convert si adaugam
codul:
double tempKelvin = Double.parseDouble(tempTextField.getText())+ 273.15;
jLabel1.setText(tempKelvin + " Kelvin");

si obtinem:
private void convertButton_actionPerformed(ActionEvent e) {
//Parse degrees Celsius as a double and convert to Fahrenheit.
int tempFahr = (int)((Double.parseDouble(tempTextField.getText()))
* 1.8 + 32);
fahreheitLabel.setText(tempFahr + " Fahrenheit");

double tempKelvin = Double.parseDouble(tempTextField.getText()) + 273.15;


jLabel1.setText(tempKelvin + " Kelvin");
}
Mediul JDeveloper
 Ultima versiune se descarca de la
http://www.oracle.com/technetwork/developer
-tools/jdev/downloads/index.html
dar necesita cont la Oracle.
 O versiune mai veche o gasiti si la
http://www.east.utcluj.ro/mb/mep/antal/downl
oads.html
 Mediu de programare ce asista procesul de
scriere a software-ului in Java (editor de text,
suport integrat pentru compilare, rulare,
precum si depanare).
Bibliografie
 http://www.east.utcluj.ro/mb/mep/antal/downloads.html > Java: course,
IDE (JDeveloper), JDK and JRE, JDeveloper labs.
 http://docs.oracle.com/cd/E18941_01/tutorials/jdtut_11r2_50/jdtut_11r2
_50.html
> Getting Started With the JDeveloper IDE

S-ar putea să vă placă și