Tioz90
14-01-2012, 10:36
Qualche problema a compilare il codice..non sono sicuro se non mi trova le classi del package o se ho sbagliato io a scrivere..
import prog.io.*;
class calcolatrice {
public static void main (String [] args) {
ConsoleInputManager in=new ConsoleInputManager();
ConsoleOutputManager out=new ConsoleOutputManager();
boolean ricomincia=true;
do {
boolean riprovare=true;
do {
char operazione=in.readChar("Che operazione vuoi eseguire?"); //lettura del tipo di operazione
if (operazione!='+'||operazione!='-'||operazione!='/'||operazione!='*') {
out.println("Inserire un'operazione valida");
riprovare=in.readSiNo("Vuoi riprovare? s/n");
}
else
riprovare=false;
}
while (riprovare);
Sequenza<int> operandi=new Sequenza<int>();
boolean continua=true;
for (int i=0;continua;i++) { //lettura e salvataggio degli operandi
operandi.add(in.readInt("Inserisci l`operando"));
continua=in.readSiNo("Vuoi inserire altri operandi? s/n");
}
if (operandi.size()<2) { //controllo che ci siano più di due operandi
switch (operazione) { //blocco che esegue le operazioni
case '+':
int somma=0;
for (int i:operandi) {
somma+=i;
}
out.println("Il risultato della somma é: "+somma);
break;
case '-':
int sottrazione=operandi(0);
for (int i:operandi) {
sottrazione-=i;
}
out.println("Il risultato della sottrazione é: "+sottrazione);
break;
case '/':
int divisione=operandi(0);
for (int i:operandi) {
divisione/=i;
}
out.println("Il risultato della divisione é: "+divisione);
break;
case '*':
int moltiplicazione=operandi(0);
for (int i:operandi) {
moltiplicazione*=i;
}
out.println("Il risultato della moltiplicazione é: "+moltiplicazione);
break;
}
ricomincia=in.readSiNo("Vuoi eseguire un'altra operazione? s/n");
}
else
out.println("Non posso eseguire operazioni su un solo operando");
}
while (ricomincia);
}
}
Quando provo a compilare:
calcolatrice.java:26: error: cannot find symbol
Sequenza<int> operandi=new Sequenza<int>();
^
symbol: class Sequenza
location: class calcolatrice
calcolatrice.java:26: error: unexpected type
Sequenza<int> operandi=new Sequenza<int>();
^
required: reference
found: int
calcolatrice.java:26: error: cannot find symbol
Sequenza<int> operandi=new Sequenza<int>();
^
symbol: class Sequenza
location: class calcolatrice
calcolatrice.java:26: error: unexpected type
Sequenza<int> operandi=new Sequenza<int>();
^
required: reference
found: int
calcolatrice.java:36: error: cannot find symbol
switch (operazione) { //blocco che esegue le ope
razioni
^
symbol: variable operazione
location: class calcolatrice
calcolatrice.java:45: error: cannot find symbol
int sottrazione=operandi(0);
^
symbol: method operandi(int)
location: class calcolatrice
calcolatrice.java:52: error: cannot find symbol
int divisione=operandi(0);
^
symbol: method operandi(int)
location: class calcolatrice
calcolatrice.java:59: error: cannot find symbol
int moltiplicazione=operandi(0);
^
symbol: method operandi(int)
location: class calcolatrice
8 errors
Mi sembra evidente che l'errore si sia propagato dal fatto che non trova la classe..a richiesta fornisco la documentazioni del package;)
So che è una domanda un pò (tanto) balorda ma se qualche buona anima volesse darmi una mano ne sarei grato :)
Idee per migliorare la struttura del programmino?:fagiano:
import prog.io.*;
class calcolatrice {
public static void main (String [] args) {
ConsoleInputManager in=new ConsoleInputManager();
ConsoleOutputManager out=new ConsoleOutputManager();
boolean ricomincia=true;
do {
boolean riprovare=true;
do {
char operazione=in.readChar("Che operazione vuoi eseguire?"); //lettura del tipo di operazione
if (operazione!='+'||operazione!='-'||operazione!='/'||operazione!='*') {
out.println("Inserire un'operazione valida");
riprovare=in.readSiNo("Vuoi riprovare? s/n");
}
else
riprovare=false;
}
while (riprovare);
Sequenza<int> operandi=new Sequenza<int>();
boolean continua=true;
for (int i=0;continua;i++) { //lettura e salvataggio degli operandi
operandi.add(in.readInt("Inserisci l`operando"));
continua=in.readSiNo("Vuoi inserire altri operandi? s/n");
}
if (operandi.size()<2) { //controllo che ci siano più di due operandi
switch (operazione) { //blocco che esegue le operazioni
case '+':
int somma=0;
for (int i:operandi) {
somma+=i;
}
out.println("Il risultato della somma é: "+somma);
break;
case '-':
int sottrazione=operandi(0);
for (int i:operandi) {
sottrazione-=i;
}
out.println("Il risultato della sottrazione é: "+sottrazione);
break;
case '/':
int divisione=operandi(0);
for (int i:operandi) {
divisione/=i;
}
out.println("Il risultato della divisione é: "+divisione);
break;
case '*':
int moltiplicazione=operandi(0);
for (int i:operandi) {
moltiplicazione*=i;
}
out.println("Il risultato della moltiplicazione é: "+moltiplicazione);
break;
}
ricomincia=in.readSiNo("Vuoi eseguire un'altra operazione? s/n");
}
else
out.println("Non posso eseguire operazioni su un solo operando");
}
while (ricomincia);
}
}
Quando provo a compilare:
calcolatrice.java:26: error: cannot find symbol
Sequenza<int> operandi=new Sequenza<int>();
^
symbol: class Sequenza
location: class calcolatrice
calcolatrice.java:26: error: unexpected type
Sequenza<int> operandi=new Sequenza<int>();
^
required: reference
found: int
calcolatrice.java:26: error: cannot find symbol
Sequenza<int> operandi=new Sequenza<int>();
^
symbol: class Sequenza
location: class calcolatrice
calcolatrice.java:26: error: unexpected type
Sequenza<int> operandi=new Sequenza<int>();
^
required: reference
found: int
calcolatrice.java:36: error: cannot find symbol
switch (operazione) { //blocco che esegue le ope
razioni
^
symbol: variable operazione
location: class calcolatrice
calcolatrice.java:45: error: cannot find symbol
int sottrazione=operandi(0);
^
symbol: method operandi(int)
location: class calcolatrice
calcolatrice.java:52: error: cannot find symbol
int divisione=operandi(0);
^
symbol: method operandi(int)
location: class calcolatrice
calcolatrice.java:59: error: cannot find symbol
int moltiplicazione=operandi(0);
^
symbol: method operandi(int)
location: class calcolatrice
8 errors
Mi sembra evidente che l'errore si sia propagato dal fatto che non trova la classe..a richiesta fornisco la documentazioni del package;)
So che è una domanda un pò (tanto) balorda ma se qualche buona anima volesse darmi una mano ne sarei grato :)
Idee per migliorare la struttura del programmino?:fagiano: