0% au considerat acest document util (0 voturi)
12 vizualizări10 pagini

TAP Lab4

Încărcat de

Adrian Bodorin
Drepturi de autor
© All Rights Reserved
Respectăm cu strictețe drepturile privind conținutul. Dacă suspectați că acesta este conținutul dumneavoastră, reclamați-l aici.
Formate disponibile
Descărcați ca DOCX, PDF, TXT sau citiți online pe Scribd
0% au considerat acest document util (0 voturi)
12 vizualizări10 pagini

TAP Lab4

Încărcat de

Adrian Bodorin
Drepturi de autor
© All Rights Reserved
Respectăm cu strictețe drepturile privind conținutul. Dacă suspectați că acesta este conținutul dumneavoastră, reclamați-l aici.
Formate disponibile
Descărcați ca DOCX, PDF, TXT sau citiți online pe Scribd

Ministerul Educaţiei al Republicii Moldova

Universitatea Tehnica a Moldovei


Facultatea Calculatoare Informatică și Microelectronică

Raport
Lucrare de laborator Nr.4
Disciplina: Tehnici avansate de programare

A efectuat: [Link]. IA-171


Bodorin Adrian
A verificat: [Link].
Osovschi Mariana

Chişinau 2019
1. Tema lucrării:

Crearea excepţiilor

2. Scopul lucrării:

 Însuşirea modalităţilor de creare şi realizare a excepţiilor în Java;

3. Etapele de realizare:

1. Realizarea mai mulror tipuri de excepţii;


2. Realizarea excepţiilor standarte ;
3. Crearea excepţiilor poprii ;
4. Crearea interfeţii programului;
5. Prezentarea lucrării.

Varianta 8
Se întroduc N parametri de la consolă. Aceşti parametri -sunt elemente ale vectorului
detip double, şi in baza vectorului – se creaza clasa cu obiectul DoubleVector. Apoi,
programul afisiaza la consola valorile vectorului în formă: Vector: 2.3 5.0 7.3.
Program Listingul

import [Link].*;
import [Link].*;
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];

public class JavaApplication4 extends JFrame implements ActionListener{


public static void SetWindow(){
DoubleVector d = new DoubleVector();
JFrame frame = new JFrame("Fereastra de lucru");
[Link](JFrame.EXIT_ON_CLOSE);
JPanel mainPanel = new JPanel();
[Link](new BorderLayout());
JPanel topPanel = new JPanel();
[Link]([Link]("Control panel"));
JLabel labelN = new JLabel("N:");
JTextField n= new JTextField();
Dimension standartFieldDimension = new Dimension(30,20);
[Link](standartFieldDimension);
JLabel labelItem = new JLabel("valoarea");
JTextField Item = new JTextField();
[Link](standartFieldDimension);
[Link]("Introduceti Double (Float)");
JButton AddItem = new JButton("Adauga");
JButton RemoveItem = new JButton("Elimina");
JButton Set = new JButton("SetSize");
//----INviz label---//
JLabel Setup = new JLabel();
[Link]("false");
[Link](false);
//----------------------//
[Link](labelN);
[Link](n);
[Link](Set);
[Link](labelItem);
[Link](Item);
[Link](AddItem);
[Link](RemoveItem);
[Link](Setup);
//-----------------------------
JTextArea Elem = new JTextArea();
[Link](new Dimension(150,260));
[Link]("true");
JPanel secondcenterPanel = new JPanel();
JButton ShowAll = new JButton("Arata toate");
JButton ShowFirst = new JButton("Arata primul");
JButton ShowLast = new JButton("Arata ultimul");
JButton ShowN = new JButton("Arata N");
JTextField fieldN = new JTextField();
[Link](new Dimension(40,25));
Box VBox = [Link]();
Box HBox = [Link]();
[Link]([Link](new Dimension(90,0)));
[Link](CENTER_ALIGNMENT);
[Link](LEFT_ALIGNMENT);
[Link](RIGHT_ALIGNMENT);
[Link](ShowN);
[Link]([Link](new Dimension(10,0)));
[Link](fieldN);
[Link](ShowAll);
[Link]([Link](new Dimension(0,15)));
[Link](ShowFirst);
[Link]([Link](new Dimension(0,15)));
[Link](ShowLast);
[Link]([Link](new Dimension(0,15)));
[Link](HBox);
JPanel centerPanel = new JPanel();
[Link](new Dimension(420,270));
[Link]([Link]("Items control"));
[Link](Elem,[Link]);
[Link](VBox,[Link]);
JTextArea Exceptions = new JTextArea();
[Link](new Dimension(420,25));
[Link](false);
[Link](false);
[Link](new Font("Courier New", [Link], 14));
[Link]([Link]);
[Link](Exceptions,[Link]);
//------------------------------
JPanel bottomPanel = new JPanel();
[Link]([Link]("Elenents Bar"));
[Link](new Dimension(448,60));
JTextArea FinalElem = new JTextArea();
[Link](new Dimension(420,25));
[Link](new Font("Apple Casual",[Link],14));
[Link]([Link]);
[Link](FinalElem,[Link]);
[Link](topPanel,[Link]);
[Link](centerPanel,[Link]);
[Link](bottomPanel,[Link]);
[Link]().add(mainPanel);
[Link](new Dimension(450, 520));
[Link]();
[Link](null);
[Link](true);
//-------------Functionals-----------
[Link](new ActionListener(){
@Override
public void actionPerformed(ActionEvent e){
try{
if([Link]().equals("")){
throw new MyException("Capsula goala");
}else if([Link]().equals([Link](0))){
throw new MyException("Zero nu poate fi volumul vectorului");
}else if([Link]().contains(" ")){
throw new MyException("Capsula contine spatii");
}else if([Link]().matches("[0-9]+")==false){
throw new MyException("Capsula contine date diferite de numar int");
}
else{
int x = [Link]([Link]());
[Link](x);
[Link](false);
[Link]([Link]());
[Link](" ");
[Link](false);
[Link]("true");
}
}catch(MyException ex){
[Link]();
[Link]();
[Link](new LineBorder([Link],1));
[Link]([Link]());
}
}
});
[Link](new ActionListener(){
public void actionPerformed(ActionEvent e){
try{
if([Link]().equals("true")){
try{
if([Link]()>=[Link]([Link]())){
throw new Exception("Depasita Limita de valori");
}else if([Link]().matches("[0-9.]+")==false){
throw new Exception("Nu aveti element tip Double");
}else{
[Link]([Link]([Link]()));
[Link]([Link]());
[Link]();
[Link]();
}
}catch(Exception ep){
[Link]([Link]());
}
}else{
throw new MyException("Nu este setat N:");
}
}catch(MyException ex){
[Link]();
[Link]();
[Link](new LineBorder([Link],1));
[Link]([Link]());
}
}
});
[Link](new ActionListener(){
public void actionPerformed(ActionEvent e){
try{
if([Link]().equals("true")){
try{
if([Link]()==0){
throw new Exception("Nu Exista valori");
}else if([Link]().matches("[0-9.]+")==false){
throw new Exception("Nu aveti element tip Double");
}else{
try{
if([Link]([Link]([Link]()))){
[Link]([Link]([Link]()));
[Link]();
[Link]();
[Link]([Link]([Link]));
[Link]([Link]());
}else{
[Link]();
[Link]();
throw new MyException("Nu exista asa element in tablou");
}
}catch(MyException x){
[Link]();
[Link](new LineBorder([Link],1));
[Link]([Link]());
}
}
}catch(Exception ep){
[Link]([Link]());
[Link]();
[Link]();
}

}else{
throw new MyException("Tabloul este gol");
}
}catch(MyException ex){
[Link]();
[Link]();
[Link](new LineBorder([Link],1));
[Link]([Link]());
}
}
});
[Link](new ActionListener(){
@Override
public void actionPerformed(ActionEvent e){
try{
if([Link]().equals("true")){
if([Link]()>0){
String line="";
for(int i=0;i<[Link]();i++){
line+=[Link](i)+" ";
}
[Link](line);
}else throw new MyException("Tablou fara elemente");
}else throw new MyException("Tablou neinitializat");
}catch(MyException ex){
[Link]([Link]());
}
}
});
[Link](new ActionListener(){
@Override
public void actionPerformed(ActionEvent e){
try{
if([Link]().equals("true")){
if([Link]()>0){
String line="";
line+=[Link](0)+" ";
[Link](line);
}else throw new MyException("Tablou fara elemente");
}else throw new MyException("Tablou neinitializat");
}catch(MyException ex){
[Link]([Link]());
}

}
});
[Link](new ActionListener(){
@Override
public void actionPerformed(ActionEvent e){
try{
if([Link]().equals("true")){
if([Link]()>0){
String line="";
line+=[Link]([Link]()-1)+" ";
[Link](line);
}else throw new MyException("Tablou fara elemente");
}else throw new MyException("Tablou neinitializat");
}catch(MyException ex){
[Link]([Link]());
}
}
});
[Link](new ActionListener(){
@Override
public void actionPerformed(ActionEvent e){
try{
if([Link]().equals("true")){
if([Link]()>0){
try{
if([Link]().equals("")||[Link]().contains(" ")||
[Link]().matches("[0-9]+")==false)
throw new Exception("Parametri incorecti");
else if([Link]([Link]())>=[Link]()){
throw new Exception("Index in afara tabloului");
}else if([Link]([Link]())<0){
throw new Exception("Valoare negativa nu se primeste");
}else{
[Link]([Link]([Link]([Link]())));
[Link]();
[Link]();
}
}catch(Exception oe){
[Link]([Link]());
}
}else throw new MyException("Tablou fara elemente");
}else throw new MyException("Tablou neinitializat");
}catch(MyException ex){
[Link]([Link]());
}
}
});
}
public static void main(String[] args) {
[Link](new Runnable() {
public void run() {
[Link](true);
SetWindow();
}
});
}
public void actionPerformed(ActionEvent ae) {
throw new UnsupportedOperationException("Not supported yet."); //To change body of
generated methods, choose Tools | Templates.
}
}
class DoubleVector{
double[] val;
int index;
int maxAdmisible;
void init(int maxSize){
val = new double[maxSize];
maxAdmisible = maxSize;
}
void add(double value){
val[index++]=value;
[Link](val[index-1]);
}
boolean erase(double value){
for(int i=0;i<maxAdmisible;i++){
if(val[i]==value){
for(int j=i;j<index-1;j++){
val[j]=val[j+1];
}
double[] aux=new double[maxAdmisible];
index--;
for(int j=0;j<index;j++){
aux[j]=val[j];
}
val=new double[maxAdmisible];
for(int j=0;j<index;j++){
val[j]=aux[j];
}
return true;
}
}
return false;
}
boolean equals(DoubleVector x) throws MyException{
for(int i=0;i<maxAdmisible;i++){
if(val[i]!=[Link][i])return false;
}
return true;
}
String Show(){
String line =" ";
for(int j = 0;j<index;j++){
line+=[Link](val[j])+"\n ";
}
return line;
}

String Show(int i){


double x = val[i]*10;
int y=(int)x;
double z = (double)y/10;
String out = [Link](z);
return out;
}
double getValue(int i){
return val[i];
}
int getIndex(){
return index;
}
boolean exists(double i){
for(int j =0; j<index;j++){
if(val[j]==i)return true;
}
return false;
}
}
class MyException extends Exception{
public MyException(String message, Throwable cause){
super(message,cause);
}
public MyException(String message){
super(message);
}
}
Rezultatul executarii:

Concluzie:
In urma efectuarii acestei lucrari am insusit modalitatile de creare si realizare a
exceptiilor in Java, am creat exceptii proprii care m-au ajutat la indeplinirea conditiilor
acestei lucrari.

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

  • Examen Catedra Militara UTM
    Încă nu există evaluări
    Examen Catedra Militara UTM
    46 pagini
  • Lucrare de Laborator NR 2
    Încă nu există evaluări
    Lucrare de Laborator NR 2
    3 pagini
  • TAP Lab6
    Încă nu există evaluări
    TAP Lab6
    4 pagini
  • TAP Lab4
    Încă nu există evaluări
    TAP Lab4
    10 pagini
  • TAP Lab7
    Încă nu există evaluări
    TAP Lab7
    6 pagini
  • Lab 6 MMC
    Încă nu există evaluări
    Lab 6 MMC
    5 pagini
  • Lab 4 MMC
    Încă nu există evaluări
    Lab 4 MMC
    3 pagini
  • Tap Lab5
    Încă nu există evaluări
    Tap Lab5
    8 pagini
  • Lab 3 MMC
    Încă nu există evaluări
    Lab 3 MMC
    4 pagini
  • SI Lab01 Raport
    Încă nu există evaluări
    SI Lab01 Raport
    8 pagini