Sunteți pe pagina 1din 5

Interpretarea rezultatelor obtinute prin modificarea programului Salut.

java

III. Se va elimina simbolul punct si virgula (;) din linia 3


Problema: eroare la compilare
salut.java:6: ';' expected
^
1 error
Cauza: Compilatorul sesizeaza inexistenta simbolului care incheie o comanda ';' si nu poate continua
compilarea intrucat comanda ceruta nu a fost finalizata de catre programator
Concluzie: Mesajul ne spune ca am uitat sa pune simbolul ';' dupa o comanda.
IV. Se vor elimina parantezele drepte, [], din linia 2
Problema: nici o eroare la compilare, dar apare o eroare in executare
Exception in thread "main" java.lang.NoSuchMethodError: main
Cauza: Masina Virtuala Java care sta in spatele interpretorului java sesizeaza inexistenta unei metode
Java cu semnatura completa: public static void main(String[] args).
Concluzie: Mesajul primit nu este clar deoarece se poate crede din eroarea exceptionala ca metoda
"main" nu exista si programatorul nu banuieste ca de fapt a declarat incomplet metoda in sine.
V. Se va elimina cuvantul cheie void (din linia 2)
Problema: eroare la compilare
Salut.java:3: invalid method declaration; return type required
public static main(String[] args) {
1 error
Cauza: Masina Virtuala Java care sta in spatele interpretorului java sesizeaza inexistenta unei metode
Java cu semnatura completa: public static void main(String[] args)
Concluzie: Mesajul ne spune ca nu am declarat tipul de data pe care il intoarce metoda.
VI. Se va elimina cuvantul cheie static (din linia 2)
Problema: nici o eroare la compilare, dar apare o eroare in executare
Exception in thread "main" java.lang.NoSuchMethodError: main
Cauza: Masina Virtuala Java care sta in spatele interpretorului java sesizeaza inexistenta unei metode
Java cu semnatura completa: public static void main(String[] args)
Concluzie: Mesajul primit nu este clar deoarece se poate crede din eroarea exceptionala ca metoda
"main" nu exista, dar compilatorul totusi a compilat programul cumva si userul nu banuieste ca de fapt a
declarat incomplet metoda in sine, astfel este strict necesara declararea metodei main() ca fiind de tip
static.
VII. Se vor inlocui ghilimelele cu apostroafe in linia 3
Problema: erori la compilare
Salut.java:5: unclosed character literal
System.out.println('Buna ziua');
Salut.java:5: unclosed character literal
System.out.println('Buna ziua');
Salut.java:5: ')' expected
System.out.println('Buna ziua');
3 errors
Cauza: Compilatorul asteapta ca in interiorul apostroafelor sa gaseasca doar un singur caracter dupa
care sa se inchida, iar in cazul nostru practic el nu "intelege" de ce nu exista un apostrof dupa litera B si
gaseste alt caracter, de aici apar si erorile cum ca nu as fi inchis paranteza.
Concluzie: Ghilimelele inlocuite cu apostroafe nu pot fi folosite pentru a contine un string (sir de
caractere), putand avea mai multe interpretari.
VIII. Se va inlocui numele clasei System cu system in linia 3
Problema: eroare la compilare
Salut.java:5: package system does not exist
system.out.println("Buna ziua");
^
1 error
Cauza: Compilatorul nu gaseste libraria system, deoarece toate denumirile de librarii din Java sunt case-
senzitive.
Concluzie: Eroarea este clara, si anume spune programatorului ca, libraria "system" nu exista, respectiv
fisierul intitulat astfel nu exista, decat sub numele de "System" cu prima litera mare.
IX. Se va inlocui numele clasei Salut cu salut in linia 1
Problema: eroare la compilare
Salut.java:1: class salut is public, should be declared in a file named salut.java
public class salut {
^
1 error
Cauza: Compilatorul nu gaseste clasa "salut" intrucat, in program este definita sub forma capitalizata
"Salut", iar in Java exista o corelatie intre denumirea fisierului .java si denumirea clasei.
Concluzie: Programatorul trebuie sa aibe grija ca denumirea fisierului .java si al clasei, sa fie unul si
acelasi.
X. Se va inlocui args din linia 2 cu cuvantul argumente
Problema: nici o eroare la compilare, nici o eroare la rulare
Raspuns: Este normal sa nu fie raportata nici o eroarea, intrucat "args" este denumirea unui string (sir de
caractere), practic a unei variabile, parametru al clasei, pe care fiecare programator in parte isi poate
alege cum sa-l denumeasca.

Codurile sursa ale programelor


Polinom0:

public class Polinom0 {


public static void main(String[] args) {
// Declararea si initializarea variabilei intregi
int N=4;
// Crearea tabloului coeficientilor (de dimensiune N+1), numit C,
// folosind valorile prestabilite : 1, 2, 3, 2, 1
int[] C = new int[N+1];
C[0]= 1;
C[1]= 2;
C[2]= 3;
C[3]= 2;
C[4]= 1;
// Afisarea polinomului P(X)
System.out.println("C0=" + C[0] + "\n");
for(int i=1;i<=N;i++)
System.out.println(C[i] + "*X^" + i + "\n");
// Declararea si initializarea variabilei intregi
// care contine valoarea necunoscutei, X=2
int X=2;
// Afisarea valorii necunoscutei (X)
System.out.println("X=" + X);
// Declararea si initializarea variabilei intregi P,
// care contine valoarea polinomului, P(X)
int P=0;
// Calculul polinomului P(X) = suma(Ci * X^i), unde i=0,N
// - calculul valorii X^i, unde i=1,N
// - actualizarea valorii polinomului
// trebuie sa dea 49!
for(int i=0;i<=N;i++)
P=P+(C[i] * (int)Math.pow(X,i));
// Afisarea valorii polinomului P(X)
System.out.println("P=" + P);
}
}

Polinom1:

import javax.swing.JOptionPane;
public class Polinom1 {
public static void main(String[] args) {
// Declararea variabilei intregi N gradul polinomului
// Obtinerea gradului polinomului de la utilizator, conversie String-int
int N = Integer.parseInt(JOptionPane.showInputDialog("Introduceti gradul polinomului = "));
// Declararea si crearea tabloului coeficientilor, C
int[] C = new int[N+1];
// Obtinerea de la utilizator a coeficientilor Ci, unde i=0,N
for(int i=0;i<=N;i++)
C[i]=Integer.parseInt(JOptionPane.showInputDialog("Coeficientul["+i+"] = "));
// Afisarea polinomului P(X)
// - mai intai termenul liber Co
// - apoi termenii Ci*X^i, unde i=1,N
JOptionPane.showMessageDialog(null, "C0=" + C[0] + "\n");
for(int i=1;i<=N;i++)
JOptionPane.showMessageDialog(null, C[i] + "*X^" + i + "\n");
// Declararea variabilei intregi X
// Obtinerea valorii necunoscutei de la utilizator, conversie String-int
int X = Integer.parseInt(JOptionPane.showInputDialog("X = "));
// Afisarea valorii necunoscutei (X)
JOptionPane.showMessageDialog(null, "X=" + X);
// Declararea si initializarea variabilei intregi numita polinom,
// care contine valoarea polinomului, P(X)
int P=0;
// Calculul polinomului P(X) = suma(Ci * X^i), unde i=0,N
// - calculul valorii X^i, unde i=1,N
// - actualizarea valorii polinomului
for(int i=0;i<=N;i++)
P=P+(C[i] * (int)Math.pow(X,i));
// Afisarea valorii polinomului P(X)
JOptionPane.showMessageDialog(null, "P=" + P);
}
}

Polinom2:

import javax.swing.JOptionPane;
public class Polinom2 {
// Metoda care obtine de la utilizator gradul polinomului
public static int obtineGrad() {
// Obtinerea de la utilizator a gradului polinomului
int N = Integer.parseInt(JOptionPane.showInputDialog("Introduceti gradul polinomului = "));
// Returnarea valorii gradului polinomului
return N;
}
// Metoda care obtine de la utilizator coeficientii polinomului
public static int[] stabilesteCoeficienti(int N) {
// Declararea si crearea tabloului coeficientilor, numit C
int[] C = new int[N+1];
// Obtinerea de la utilizator a coeficientilor Ci, unde i=0,N
for(int i=0;i<=N;i++)
C[i]=Integer.parseInt(JOptionPane.showInputDialog("Coeficientul["+i+"] = "));
// Returnarea tabloului coeficientilor
return C;
}
// Metoda care afiseaza polinomul P(X)
public static void afisarePolinom(int N, int[] C) {
// Afisarea polinomului P(X)
// - mai intai termenul liber Co
// - apoi termenii Ci*X^i, unde i=1,N
JOptionPane.showMessageDialog(null, "C0=" + C[0] + "\n");
for(int i=1;i<=N;i++)
JOptionPane.showMessageDialog(null, C[i] + "*X^" + i + "\n");
}
// Metoda care obtine de la utilizator valoarea necunoscutei
public static int obtineNecunoscuta() {
// Obtinerea de la utilizator a valorii necunoscutei
int X = Integer.parseInt(JOptionPane.showInputDialog("X = "));
// Returnarea valorii necunoscutei
return X; }
// Metoda care calculeaza valoarea polinomului pt o valoare a necunoscutei
public static int valoarePolinom(int N, int[] C, int X) {
// Declararea si initializarea variabilei intregi numita P
int P=0;
// Calculul polinomului P(X) = suma(Ci * X^i), unde i=0,N
// - calculul valorii X^i, unde i=1,N
// - actualizarea valorii polinomului
for(int i=0;i<=N;i++)
P=P+(C[i] * (int)Math.pow(X,i));
// Returnarea valorii polinomului
return P; }
// Metoda principala. Utilizata pentru testarea celorlalte metode.
public static void main(String[] args) {
// Apelul metodei care obtine de la utilizator gradul polinomului
int N = obtineGrad();
// Apelul metodei care obtine de la utilizator coeficientii polinomului
int[] C = stabilesteCoeficienti(N);
// Apelul metodei care afiseaza polinomul
afisarePolinom(N,C);
// Apelul metodei care obtine o valoare a necunoscutei
int X = obtineNecunoscuta();
// Afisarea valorii necunoscutei
JOptionPane.showMessageDialog(null, "X=" + X);
// Apelul metodei care calculeaza polinomul pentru necunoscuta data
int P = valoarePolinom(N,C,X);
// Afisarea valorii polinomului
JOptionPane.showMessageDialog(null, "P=" + P);
System.exit(0); // Inchiderea interfetei grafice
}

Nastase Elena

424E

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

  • Oferta Practica
    Oferta Practica
    Document8 pagini
    Oferta Practica
    Ionescu Valentin Alexandru
    Încă nu există evaluări
  • Notiţe Partea III La Examen
    Notiţe Partea III La Examen
    Document6 pagini
    Notiţe Partea III La Examen
    Ionescu Valentin Alexandru
    Încă nu există evaluări
  • Controlul Statistic de Receptie Al Comp Electronice
    Controlul Statistic de Receptie Al Comp Electronice
    Document7 pagini
    Controlul Statistic de Receptie Al Comp Electronice
    Vlad Andreias
    Încă nu există evaluări
  • PT Examen
    PT Examen
    Document12 pagini
    PT Examen
    Alexandr Cojocari
    Încă nu există evaluări
  • TCSM Lab HM - h265
    TCSM Lab HM - h265
    Document4 pagini
    TCSM Lab HM - h265
    Ionescu Valentin Alexandru
    Încă nu există evaluări
  • CM 01 Introducere 2018 PDF
    CM 01 Introducere 2018 PDF
    Document13 pagini
    CM 01 Introducere 2018 PDF
    Ionescu Valentin Alexandru
    Încă nu există evaluări
  • Lab5 ATDI v2018 PDF
    Lab5 ATDI v2018 PDF
    Document15 pagini
    Lab5 ATDI v2018 PDF
    Ionescu Valentin Alexandru
    Încă nu există evaluări
  • Lab 1
    Lab 1
    Document10 pagini
    Lab 1
    Vulpe Florian
    Încă nu există evaluări
  • Sist TV AN
    Sist TV AN
    Document16 pagini
    Sist TV AN
    Kolea Mtc
    Încă nu există evaluări
  • Intro An 2 G2
    Intro An 2 G2
    Document30 pagini
    Intro An 2 G2
    Ionescu Valentin Alexandru
    Încă nu există evaluări
  • Cap1 PDS 2018-D Burileanu
    Cap1 PDS 2018-D Burileanu
    Document12 pagini
    Cap1 PDS 2018-D Burileanu
    Ionescu Valentin Alexandru
    Încă nu există evaluări
  • Model de Subnetizare 2
    Model de Subnetizare 2
    Document1 pagină
    Model de Subnetizare 2
    Ionescu Valentin Alexandru
    Încă nu există evaluări
  • Curs de Televiziune
    Curs de Televiziune
    Document92 pagini
    Curs de Televiziune
    Alex Razvan Pop
    Încă nu există evaluări
  • Tema 1
    Tema 1
    Document6 pagini
    Tema 1
    Ionescu Valentin Alexandru
    Încă nu există evaluări
  • Colocviu Imaginei
    Colocviu Imaginei
    Document9 pagini
    Colocviu Imaginei
    Ionescu Valentin Alexandru
    Încă nu există evaluări
  • Subiecte Colocviu
    Subiecte Colocviu
    Document17 pagini
    Subiecte Colocviu
    Ionescu Valentin Alexandru
    Încă nu există evaluări
  • 9.familia de Microcontrolere de 8 Biţi, AVR (ATMEL)
    9.familia de Microcontrolere de 8 Biţi, AVR (ATMEL)
    Document2 pagini
    9.familia de Microcontrolere de 8 Biţi, AVR (ATMEL)
    Ionescu Valentin Alexandru
    Încă nu există evaluări
  • Sist TV AN
    Sist TV AN
    Document16 pagini
    Sist TV AN
    Kolea Mtc
    Încă nu există evaluări
  • Capitol 1 - Perceptie Vizuala
    Capitol 1 - Perceptie Vizuala
    Document13 pagini
    Capitol 1 - Perceptie Vizuala
    Cristian Zloteanu
    Încă nu există evaluări
  • Capitolul 3 PDF
    Capitolul 3 PDF
    Document11 pagini
    Capitolul 3 PDF
    Ionescu Valentin Alexandru
    Încă nu există evaluări
  • Capitol 1 v3
    Capitol 1 v3
    Document42 pagini
    Capitol 1 v3
    Ionescu Valentin Alexandru
    Încă nu există evaluări
  • Capitol 3 v3
    Capitol 3 v3
    Document35 pagini
    Capitol 3 v3
    Ionescu Valentin Alexandru
    Încă nu există evaluări
  • Laborator Anexa Set Instructiuni x86
    Laborator Anexa Set Instructiuni x86
    Document21 pagini
    Laborator Anexa Set Instructiuni x86
    Anonymous CKqqDk
    Încă nu există evaluări
  • Andrei Unghianu
    Andrei Unghianu
    Document1 pagină
    Andrei Unghianu
    Ionescu Valentin Alexandru
    Încă nu există evaluări
  • Tema POO1
    Tema POO1
    Document5 pagini
    Tema POO1
    Ionescu Valentin Alexandru
    Încă nu există evaluări
  • Intrebari Grila Ordonate Alfabetic CCP
    Intrebari Grila Ordonate Alfabetic CCP
    Document2 pagini
    Intrebari Grila Ordonate Alfabetic CCP
    Ionescu Valentin Alexandru
    Încă nu există evaluări
  • Drept
    Drept
    Document10 pagini
    Drept
    Ionescu Valentin Alexandru
    Încă nu există evaluări
  • MC Lucrarea1 PDF
    MC Lucrarea1 PDF
    Document17 pagini
    MC Lucrarea1 PDF
    Lorelei Vasiloaia
    Încă nu există evaluări
  • CCCP 2
    CCCP 2
    Document1 pagină
    CCCP 2
    Ionescu Valentin Alexandru
    Încă nu există evaluări