maruzzo Inviato 22 Gennaio 2007 Segnala Condividi Inviato 22 Gennaio 2007 Allora ragazzi sto tenendo il mio primo corso di java all'università . Il mio problema è un professore win fissato e poco aperto a spiegare per bene le cose agli alunni… Mi spiego meglio, ci ha iniziato a dire dovete scrivere questo e questo…alla fatidica domanda "ma a che servono tutte ste scritte?" lui risponde semplicemente con "voi fate cosi e basta". Inutile dire che un tizio del genere non può che essere un win dipendente…ha dato dei cd con vari tools ecc…solo che io ho un mac e non ho voglia di installare bootcamp per fare cose che potrei fare tranquillamente con il mio mac… allora ecco quello che lui ci ha detto di scrivere: import java.until.*; public class prova { public static void main (String[]args){ System.out.print("questa e' una prova"); } } questo codice dovrebb stamparmi una pagina con scritto "questo e' una prova" solo che quando lo vado a compilare mi da questo errore prova.java:1: package java.until does not existimport java.until.*; ^ 1 error da qui penso che nei cd che ha dato agli altri colleghi ci fossero questi package java.until…ho fatto delle ricerche ma non sono riuscito a trovare niente…ragazzi sono nelle vostre mani:cry: Link al commento Condividi su altri siti Altre opzioni di condivisione...
redvex Inviato 22 Gennaio 2007 Segnala Condividi Inviato 22 Gennaio 2007 si chiama java.util, non until I miei widgets • La guida a Rails • Le mie foto su flikrPdC Calculator 2.0 • Soleluna 1.2 • PrezziBenzina 1.3 MyMovies 1.3 • MyConcert 1.1.1 • RiDoc 1.1 Redvex.it 1.0 • Gazzetta.it 1.0 Programmare per iPhone Link al commento Condividi su altri siti Altre opzioni di condivisione...
maruzzo Inviato 22 Gennaio 2007 Autore Segnala Condividi Inviato 22 Gennaio 2007 grazie mille, gentilissimo avevo fatto un errore da cretino:ghghgh: Senti un'altra cosa, per lanciare i file .class devo per forza utilizzare il terminale? non c'è un'altro modo? Link al commento Condividi su altri siti Altre opzioni di condivisione...
redvex Inviato 22 Gennaio 2007 Segnala Condividi Inviato 22 Gennaio 2007 puoi creare un jar, qui un piccolo tutorial: http://www.di.unipi.it/~marcod/Didattica/LPCc/disp2/node76.html I miei widgets • La guida a Rails • Le mie foto su flikrPdC Calculator 2.0 • Soleluna 1.2 • PrezziBenzina 1.3 MyMovies 1.3 • MyConcert 1.1.1 • RiDoc 1.1 Redvex.it 1.0 • Gazzetta.it 1.0 Programmare per iPhone Link al commento Condividi su altri siti Altre opzioni di condivisione...
maruzzo Inviato 23 Gennaio 2007 Autore Segnala Condividi Inviato 23 Gennaio 2007 grazie mille molto utile :P Mi farò sentire se dovessi avere ulteriori problemi Link al commento Condividi su altri siti Altre opzioni di condivisione...
maruzzo Inviato 23 Gennaio 2007 Autore Segnala Condividi Inviato 23 Gennaio 2007 :saltella: Ho un'altro probelmino. Allora ho sviluppato un piccolo script che mi permette di calcolare la potenza di un numero…funziona tutto correttamente.Quando però ho voluto perfezionare lo script per calcolare il risultato quando l'esponente è zero (qualsiasi numero elevato a zero fa uno) mi trova un errore sull'uso delle variabili booleniane…ecco quello che ho scritto /* codice standard */ import java.util.*; /* attenzione al posto di esponente bisogna mettere il nome del documento */ public class esponente { public static void main (String[]args){ /*Da quà in avanti si inseriscono dati tramite console */ Scanner console=new Scanner (System.in); System.out.print("Inserisci il valore ddella base ===> base= "); /* Inserimento vero e proprio di base */ int base=console.nextInt(); /* Si scrive una stringa per inserire il valore dell'esponente da notare non si usa println in modo da concatenare la stringa all'inserimento vero e proprio */ System.out.print("Inserisci il valore di esponente ===> esponente= "); boolean verifica esponente=0; /* Inserimento vero e proprio dell'esponente */ int esponente=console.nextInt(); if(verifica=true) { System.out.print(base+"^"+esponente+"=0"); } else { int potenza= base; // si può anche scrivere int contatore=1; //come int potenza= base , contatore=1; while(contatore>0){ //inizia il while potenza=potenza*base; // si può scrivere anche come potenza*=base; contatore=contatore-1 ; } //stampa il risultato System.out.println(base+"^"+esponente+"="+potenza); } } } L'errore credo che sia proprio in boolean verifica esponente=0; solo che non capisco cosa ci sia di sbagliato btw l'errore che mi da è esponente.java:25: ';' expectedboolean verifica esponente=0; ^ 1 error Inizialmente volevo semplicemente usare un if(esponente=0) solo che mi dava un errore dove diceva che dovevo usare i booleniani…cosi ho fatto ma ancora non ho risolto:baby: Link al commento Condividi su altri siti Altre opzioni di condivisione...
lele Inviato 23 Gennaio 2007 Segnala Condividi Inviato 23 Gennaio 2007 per l'uguaglianza devi usare == if (esponente==0) il singolo = è una assegnazione, con esponente=0 assegni il valore 0 alla variabile esponente Chi è lei? Il numero 2. Chi è il numero 1? Lei è il numero 6. Link al commento Condividi su altri siti Altre opzioni di condivisione...
maruzzo Inviato 23 Gennaio 2007 Autore Segnala Condividi Inviato 23 Gennaio 2007 Grazie mille ho risolto se interessasse a qualcuno ecco il sorgente intero /* codice standard */ import java.util.*; /* attenzione al posto di esponente bisogna mettere il nome del documento */ public class esponente { public static void main (String[]args){ /*Da quà in avanti si inseriscono dati tramite console */ Scanner console=new Scanner (System.in); System.out.print("Inserisci il valore ddella base ===> base= "); /* Inserimento vero e proprio di base */ int base=console.nextInt(); /* Si scrive una stringa per inserire il valore dell'esponente da notare non si usa println in modo da concatenare la stringa all'inserimento vero e proprio */ System.out.print("Inserisci il valore di esponente ===> esponente= "); /* Inserimento vero e proprio dell'esponente */ int esponente=console.nextInt(); if(esponente==0) { System.out.println(base+"^"+esponente+"=0"); } else { int potenza=1, contatore=esponente; while(contatore>0){ //inizia il while potenza*=base; // si può scrivere anche come potenza*=base; contatore=contatore-1; } //stampa il risultato System.out.println(base+"^"+esponente+"="+potenza); } } } grazie ancota Link al commento Condividi su altri siti Altre opzioni di condivisione...
maruzzo Inviato 24 Gennaio 2007 Autore Segnala Condividi Inviato 24 Gennaio 2007 Una domandina semplice semplice a*=b; dove a e b sono due variabili, a cosa equivale scrivere? non è una abreviazione? è come se scrivessi a=a*b; ??? Link al commento Condividi su altri siti Altre opzioni di condivisione...
lele Inviato 24 Gennaio 2007 Segnala Condividi Inviato 24 Gennaio 2007 è così Chi è lei? Il numero 2. Chi è il numero 1? Lei è il numero 6. Link al commento Condividi su altri siti Altre opzioni di condivisione...
maruzzo Inviato 25 Gennaio 2007 Autore Segnala Condividi Inviato 25 Gennaio 2007 grazie:D Un'altra cosina altrettanto semplice Per inserire una variabile di tipo int tramite console disolito uso: Scanner console=new Scanner(System.in); int a=console.nextInt(); Ora ho la necessità di inserire tramite console una variabile non numerica…ma una frase, delle lettere…devo usare le variabili di tipo char giusto? solo che quando scrivo Scanner console=new Scanner(System.in); char a=console.nextInt(); Non funziona…cosi ho provato a scrivere: Scanner console=new Scanner(System.in); char a=console.nextChar(); Ma non funge nemmeno:cry: Link al commento Condividi su altri siti Altre opzioni di condivisione...
lele Inviato 25 Gennaio 2007 Segnala Condividi Inviato 25 Gennaio 2007 leggi un pò qua http://java.sun.com/j2se/1.5.0/docs/api/ Il char però è una variabile che identifica un singolo carattere, non una stringa. Non ho mai usato Scanner, ma leggendo la documentazione delle api suppongo che tu debba usare... String s=console.next(); ...per ottenere la successiva "parola" in formato stringa. Nelle API cerca Scanner. Nella sezione iniziale c'è qualche esempio. Chi è lei? Il numero 2. Chi è il numero 1? Lei è il numero 6. Link al commento Condividi su altri siti Altre opzioni di condivisione...
maruzzo Inviato 25 Gennaio 2007 Autore Segnala Condividi Inviato 25 Gennaio 2007 Da quello che ho capito per inserire una stringa tramite console devo usare String scelta=console.next(); ma poi come faccio a confrontare la variabile scelta con un'altra variabile? Mi spiego meglio, dovrei prima dichiarare e inizializzare una variabile di contronto, a cui però dovrei attribuire una serie di lettere, e poi confrontarla con la variabile inserita tramite console. Ora la domanda è: come faccio ad attribure ad una variabile una serie di lettere? il tipo char, come hai detto tu, permette l'inserimento di una sola lettera…cosi a senso avevo provato a usare il tipo string, che però non mi riconosce e suppongo non esista proprio. Ho dato un occhiata a il link che mi hai postato però non ho trovato niente. Vorrei solo sapere come definire una variabile con una serie di lettere:fiorellino: In php è tutto molto più semplice, $ variabile e via:p Link al commento Condividi su altri siti Altre opzioni di condivisione...
lele Inviato 25 Gennaio 2007 Segnala Condividi Inviato 25 Gennaio 2007 non sono sicuro di avere capito, cosa intenti per "Vorrei solo sapere come definire una variabile con una serie di lettere"? Esempi (alternativi che fanno la stessa cosa): String variabileA = "ciao"; String variabileA = new String("ciao"); così creai variabileA e gli assegni il valore "ciao". se poi hai String variabileB = console.next(); e vuoi verificare che variabileA sia uguale a variabileB fai if (variabileA.equals(variabileB)) { ... } una variabile di tipo String è un oggetto, non è una variabile di tipo primitivo, come int, char ecc, per cui non devi fare if (variabileA==variabileB) { ... } ma usare i metodi dell'oggetto String nel link sopra, se cerchi String nell'elenco a sinistra ottieni la specifica della classe e tutti (tanti) i suoi metodi. ti consiglio di seguire i tutorial per imparare http://java.sun.com/docs/books/tutorial/ Getting Started, Learning the Java Language e poi gli altri Chi è lei? Il numero 2. Chi è il numero 1? Lei è il numero 6. Link al commento Condividi su altri siti Altre opzioni di condivisione...
maruzzo Inviato 25 Gennaio 2007 Autore Segnala Condividi Inviato 25 Gennaio 2007 Hai ragione non mi sono espresso bene, anche se hai centrato in pieno il problema:fiorellino: Io cercavo di dichiarare la variabile scrivendo String variabilea=prova; invece ora ho capito che la cosa è differente perchè non è una variabile primitiva, non so davvero come ringraziarti mi sei stato utilissimo. Il fatto è che sto seguendo un corso all'università dove ora stiamo facendo le cose più elementari, io invece sono andato molto avanti per curiosità e sto ottenendo risultati discreti Comunque grazie ancora, gentilissimo Link al commento Condividi su altri siti Altre opzioni di condivisione...
maruzzo Inviato 25 Gennaio 2007 Autore Segnala Condividi Inviato 25 Gennaio 2007 comunque se potesse interessare tutti questi consigli mi sono serviti per fare //codice standard import java.util.*; public class app { public static void main (String[]args){ //Dati tramite console Scanner console=new Scanner(System.in); //servirà più avanti per controllare il ciclo boolean devocontinuare=true; //***IMPORTANTISSIMO***\\ //cosi si crea una variabile verifica e gli si assegna il valore "quit" //si definiscono le variabili di confronto String verifica = "quit"; String verifica2="potenza"; String verifica3="converter"; String verifica4="somma"; String verifica5="divisione"; String verifica6="countdown"; //stampa una stringa di benvenuto System.out.println("APPLICAZIONE APERTA"); //inizia il ciclo while(devocontinuare==true){ //lista degli algoritmi risolvibili dall'applicazione System.out.println("Ora scegli quello che vuoi fare, questa app ti permette di:"); System.out.println("-Calcolare la potenza di un numero Code= potenza"); System.out.println("-Convertire lire in euro Code= converter"); System.out.println("-Sommare due numeri Code= somma "); System.out.println("-Dividere due numeri Code= divisione"); System.out.println("_Countdown di un numero Code=countdown"); System.out.println("-Per chiudere l'applicazione Code=quit"); System.out.print("Digita il codice di quello che vuoi fare "); //scelta tramite console di cosa fare String scelta=console.next(); //se scelta è uguale a verifica allora il ciclo termina. //da notare che quando due variabili non sono priimitive per //usare if e confrontare si usa if(variabileA.equals(variabileB)) if(scelta.equals(verifica)){ //devo continuare assume il valore false devocontinuare=false; System.out.println("APPLICAZIONE CHIUSA"); }//<=== /if QUIT //invece se si digita un comando diverso da quit //INIZIA LO SCRIPT POTENZA else { if(scelta.equals(verifica2)){ System.out.print("Inserisci il valore ddella base ===> base= "); /* Inserimento vero e proprio di base */ int base=console.nextInt(); /* Si scrive una stringa per inserire il valore dell'esponente da notare non si usa println in modo da concatenare la stringa all'inserimento vero e proprio */ System.out.print("Inserisci il valore di esponente ===> esponente= "); /* Inserimento vero e proprio dell'esponente */ int esponente=console.nextInt(); //se l'esponente è uguale a zero allora il risultato è sempre uguale a 1 if(esponente==0) { System.out.println(base+"^"+esponente+"=1"); } //se invece l'esponente è !=0 lo script ricomincia direttamente da quà else { //si definiscono le variabili contatore e potenza int potenza=1, contatore=esponente; //inizia il ciclo while(contatore>0) { potenza=potenza*base; // si può anche scrivere potenza*=base ; la cosa è equivalente contatore=contatore-1; } //stampa il risultato System.out.println(base+"^"+esponente+"="+potenza); } }//<=== /if POTENZA //CONVERTITORE if(scelta.equals(verifica3)){ //Un euro vale 1936.27 lire double coefficente=1936.27; System.out.print("Inserisci le lire da convertire ===> "); long lire=console.nextInt(); double euro=lire/coefficente; System.out.println(lire+" lire "+" corrispondono a "+euro+" euro"); }//<=== /if CONVERTITORE //SE LA SCLETA è UGUALE SOMMA INIZIA LO SCRIPT SOMMA if(scelta.equals(verifica4)){ //si definisce la variabile devocontinuare boolean devocontinuare1=true; //variabile che poi verrà incrementata nel ciclo int somma=0; //inizia il ciclo while(devocontinuare1==true){ //Nel ciclo si inseriranno dei numeri tramite console fino a quando devocontinuare varrà true System.out.print("Inserisci un numero da sommare ===> "); int numero=console.nextInt(); //ora se il numero inserito è maggiore di 0 if(numero>0) { //il valore di somma verrà incrementato di un valore uguale al numero inserito tramite console (numero) //inizialmente questa variabile vale 0 somma=somma+numero; } // <== /if //se invece il numero insierto è minore o uguale a 0 else if(numero<=0) { //la variabile devocontinuare assume il valore 0 ponendo fine al ciclo devocontinuare1=false; } //<== /else if }//<== /while //stampa la somma tra tutti i numeri inseriti System.out.println("La somma di questi numeri e' "+somma); }//<=== /IF SOMMA //DIVISIONE if(scelta.equals(verifica5)){ //inserimento del dividendo System.out.print("Inserisci il dividendo = "); int dividendo=console.nextInt(); //inserimento del divisore System.out.print("Inserisci il divisore = "); int divisore=console.nextInt(); //calcola il risultato int r= dividendo/divisore; //stampa risultato System.out.println(dividendo+"/"+divisore+"="+r); //risultato virgola int rv=dividendo%divisore; // stampa risultato 2 System.out.println(dividendo+"%"+divisore+"="+rv); //conclusione System.out.println("In conclusione "+dividendo+" diviso "+divisore+" = "+r+" col resto di "+rv); }//<=== /DIVISIONE //COUNTDOWN if(scelta.equals(verifica6)){ //per inserire il numero da countdownare System.out.print("Inserisci un numero ===> "); int a=console.nextInt(); //si definisce un contatore, inizialmente con il valore //della variabile a int contatore=a; //Inizia il ciclo fin tanto il contatore è //maggiore o uguale a 0 while(contatore>=0){ //stampa il valore di contatore, ad ogni ciclo viene diminuito di uno System.out.println(contatore); //decremente il contatore di uno contatore=contatore-1; }//<=== /while }//<=== COUNTDOWN }//<==/else }//<=== /while }//<=== /main }//<=== /class Il codice forse non è ordinatissimo però funge tutto perfettamente magari può essere utile:ciao: Link al commento Condividi su altri siti Altre opzioni di condivisione...
maruzzo Inviato 18 Febbraio 2007 Autore Segnala Condividi Inviato 18 Febbraio 2007 Sto cercando di creare uno programma divertente per indovinare un numero generato a caso. Solo che arrivato ad un certo punto non va e mi da un errore. Ecco il codice: //codice standard import java.util.*; public class finder { public static void main(String[]args){ //dati tramite console Scanner console=new Scanner(System.in); //Mi da un numero casuale tra tra 0 e 1 double x0=Math.random(); //trasforma x0 in un numero compreso tra 0 e 100 double x1=x0*100; //approssima per eccesso x1 long x= Math.round(x1); int tentativi=0; long n; System.out.print("Indovina il numero compreso nell'internallo [0;100] \n n= "); do { tentativi++; n=console.nextLong(); if (n>=0 && n<=100) { if(n>x){ System.out.println("Il numero inserito e' troppo grande"); } else if(n<x){ System.out.println("Il numero inserito e' troppo piccolo, inseriscine un'altro"); } } else if(n>00 || n<0){ System.out.println("Il numero deve essere compreso nell'intervallo [0;100]"); } } while(n!=x) ; System.out.println("Hai indovito il numero in "+tentativi+" tentativi"); //IMPORTANTISSIMO: //richiamo una funzione esterna Stampavoto(tentativi); } //====> /main //codice standard per un'ulteriore funzione esterna public static void stampavoto(int tentativi) { switch(tentativi) { case 1: System.out.println("Ottimo"); break; case 2: System.out.println("Ottimo"); break; case 3: System.out.println("Ottimo"); break; case 4: System.out.println("Sufficiente"); break; case 5: System.out.println("Sufficiente"); break; case 6: System.out.println("Sufficiente"); break; case 7: System.out.println("Sufficiente"); break; case 8: System.out.println("Sufficiente"); break; //se tentativi non assume un valore da 1 a 8 allora assume il valore dafault default: System.out.println("scarso"); } // ===> /swicth }// ===> /stampavoto }// ====> /public L'errore dovrebbe essere nel richiamare la seconda funzione: Stampavoto(tentativi); } //====> /main //codice standard per un'ulteriore funzione esterna public static void stampavoto(int tentativi) { switch(tentativi) { case 1: System.out.println("Ottimo"); break; case 2: System.out.println("Ottimo"); break; case 3: System.out.println("Ottimo"); break; case 4: System.out.println("Sufficiente"); break; case 5: System.out.println("Sufficiente"); break; case 6: System.out.println("Sufficiente"); break; case 7: System.out.println("Sufficiente"); break; case 8: System.out.println("Sufficiente"); break; //se tentativi non assume un valore da 1 a 8 allora assume il valore dafault default: System.out.println("scarso"); } // ===> /swicth }// ===> /stampavoto }// ====> /public Qualche anima mi darebbe una mano? Link al commento Condividi su altri siti Altre opzioni di condivisione...
lele Inviato 19 Febbraio 2007 Segnala Condividi Inviato 19 Febbraio 2007 Dal codice sopra vedo che la funzione "stampavoto" è definita con la s minuscola, nel chiamarla usi la S maiuscola. Java è case-sensitive. Le funzioni per convenzione iniziano con la minuscola. Prova a modificare la chiamata usando la s minuscola. Chi è lei? Il numero 2. Chi è il numero 1? Lei è il numero 6. Link al commento Condividi su altri siti Altre opzioni di condivisione...
maruzzo Inviato 19 Febbraio 2007 Autore Segnala Condividi Inviato 19 Febbraio 2007 Grazie mille lele, sempre preciso e puntuale. Mi dispiace dia verti diturbato per un errore cosi cretino, però è proprio vero gli errori semplici sono sempre i più difficili da scovare! Ora funziona, grazie ancora Link al commento Condividi su altri siti Altre opzioni di condivisione...
maruzzo Inviato 17 Marzo 2007 Autore Segnala Condividi Inviato 17 Marzo 2007 Fra qualche giorno avrò l'esame di java solo che ho ancora qualche dubbio. Il mio dubbio principale e sul return e sulle matrici. Iniziamo con il return. questa è la traccia di un vecchio appello: public class Esercizio1A{ public static int prodotto(boolean[] prodotto, int[] interi) { int risultato = 1; if (prodotto.length != interi.length) return risultato; for (int i = 0; i < prodotto.length; i++) { if (!prodotto[i]) risultato *= interi[i]; } return risultato; } public static void main(String args[]){ int[] V = {-5, 128, 56, 15, -6, 12, -3 }; boolean[] X = {true, false, false, true, true, false, true }; System.out.println(“RISULTATO: “ + prodotto(X, V)); } } Tutto chiaro fino a quando si usa il return Non ho ancora capito a cosa serve esattamente e anche cercando su internet non ho trovato niente:baby: lele mi daresti una manina? Tanto fra una settimana do l'esame e poi non romperò più le scatole a nessuno Link al commento Condividi su altri siti Altre opzioni di condivisione...
lele Inviato 19 Marzo 2007 Segnala Condividi Inviato 19 Marzo 2007 cos'è che non ti torna? nella classe hai messo un metodo statico che deve ritornare un int public static int prodotto... il return serve per restituire il risultato della funzione, all'interno della funzione lo usi due volte: la prima per restituire 1 nel caso i due array non abbiano la stessa dimensione, perchè in tal caso il ciclo for seccessivo potrebbe generare una exception, con questo primo return interrompi l'esecuzione del metodo restituendo 1, il secondo, successivo al ciclo for, restituisce il dato calcolato. Chi è lei? Il numero 2. Chi è il numero 1? Lei è il numero 6. Link al commento Condividi su altri siti Altre opzioni di condivisione...
maruzzo Inviato 19 Marzo 2007 Autore Segnala Condividi Inviato 19 Marzo 2007 La cosa che non mi torna sono gli if e i for senza le parentesi graffe. In questo caso non c'è bisogno di metterle sempre : public class Esercizio1A{public static int prodotto(boolean[] prodotto, int[] interi) { int risultato = 1; if (prodotto.length != interi.length) return risultato; for (int i = 0; i < prodotto.length; i++) { if (!prodotto) risultato *= interi; } return risultato; } public static void main(String args[]){ int[] V = {-5, 128, 56, 15, -6, 12, -3 }; boolean[] X = {true, false, false, true, true, false, true }; System.out.println(“RISULTATO: “ + prodotto(X, V)); } } Se volessi scrivere if (prodotto.length != interi.length) return risultato; for (int i = 0; i < prodotto.length; i++) { if (!prodotto) risultato *= interi; } return risultato; questo passo usando le parentesi lo dovrei scrivere cosi: if (prodotto.length != interi.length){ return risultato; } for (int i = 0; i < prodotto.length; i++){ { if (!prodotto) risultato *= interi; } } return risultato; ??? la cosa che non mi torna è la posizione del return PS grazie mille lele gentilissimo come sempre:cry: Link al commento Condividi su altri siti Altre opzioni di condivisione...
lele Inviato 20 Marzo 2007 Segnala Condividi Inviato 20 Marzo 2007 se non metti le graffe l'istruzione if o for gestisce la singola istruzione successiva, io preferisco metterle sempre perchè non ti torna la posizione del return? quale dei due? Chi è lei? Il numero 2. Chi è il numero 1? Lei è il numero 6. Link al commento Condividi su altri siti Altre opzioni di condivisione...
maruzzo Inviato 20 Marzo 2007 Autore Segnala Condividi Inviato 20 Marzo 2007 Non è che non mi tornano ma non ne sono sicuro. Tenendo presente il mio codice scrivere questo passo con le parentesi è corretto? : if (prodotto.length != interi.length){return risultato; } for (int i = 0; i < prodotto.length; i++){ { if (!prodotto) risultato *= interi; } } return risultato; Vorrei essere sicuro di aver capito bene dove posizionare i vari return anche quando si usano le parentesi perchhè, come hai detto anche tu, è sempre meglio usarle per evitare confusione. Per esempio il secondo return l'ho messo fuori dal for. E' corretto? Mentre nel primo caso (il primo if di questo passo) l'ho messo dentro l'if Link al commento Condividi su altri siti Altre opzioni di condivisione...
lele Inviato 20 Marzo 2007 Segnala Condividi Inviato 20 Marzo 2007 c'è comunque un errore: sul secondo if hai sbagliato l'apertura della graffa (l'hai messa prima) if (prodotto.length != interi.length){ return risultato; } for (int i = 0; i < prodotto.length; i++) { // { if (!prodotto[i]) -- tu hai scritto così, mentre devi metterlo come sotto if (!prodotto[i]) { risultato *= interi[i]; } } return risultato; il secondo return è fuori dal ciclo perchè solo al termine del ciclo hai finito il calcolo, forse ti stai confondendo.. finito il ciclo for l'esecuzione del metodo prosegue con l'istruzione successiva. Chi è lei? Il numero 2. Chi è il numero 1? Lei è il numero 6. Link al commento Condividi su altri siti Altre opzioni di condivisione...
maruzzo Inviato 20 Marzo 2007 Autore Segnala Condividi Inviato 20 Marzo 2007 la graffa prima dell'if è un errore di distrazione :P Per il resto ora ho la situazione più chiara. grazie ancora. Ho anche un'altro problemino che forse riesco a risolvere da solo, in caso contrario stasera lo posto quà visto che giovedi ho l'esame :P Grazie ancora una volta:ciao: Link al commento Condividi su altri siti Altre opzioni di condivisione...
erj87 Inviato 16 Aprile 2007 Segnala Condividi Inviato 16 Aprile 2007 sn anke io un principiante di java e volevo chiedere delle informazioni in merito all'utilizzo di metodi che danno in output un boolean....il mio dubbio riguarda il fatto che spesso vengono chieste che delle condizioni siano verificate per ogni componente di un array per esempio...in qst caso conviene impostare un If con le condizioni inverse cn un return false??? in modo che alla prima condizione che verifica l'if inverso il mio metodo restituisce false...mentre se nn entra nell if (e quindi le condizioni iniziali risultano verificate) "ritorna" true...il mio ragionamento è esatto?? posso applicarlo sempre??? dove sbaglio??? grazie anticipatamente Link al commento Condividi su altri siti Altre opzioni di condivisione...
erj87 Inviato 16 Aprile 2007 Segnala Condividi Inviato 16 Aprile 2007 spiego meglio....devo per esempio verificare la simmetria di una matrica... public static boolean matriceSimmetrica(int || || m){ for (int i=0; i<m.length; i++) for (int j=i+1; i<m|0|.length; j++) if(m|i||j| !=m|j|i|) return false; return true; } come vedete ho utilizzato un if "al contrario", visto che la simmetria deve essere verificata per più elementi...quindi se nn entra nell if...ho simmetria e ritorna true...credo che il mio ragionamento sia giusto...mi interessava però sapere se qst uso dell if "al contrario" va utilizzato ogni qual volta ho bisogno che una determinata condizione sia verificata piu volte o ci sono altre possibili applicazioni??? se avessi voluto inizializzare una variabile per esempio boolean simmetrica=false; che avrei trasformato in true qualora la matrice fosse stata simmetrica...per poi ovviamente fare return simmetrica; come avrei dovuto impostare il mio metodo'?? grazie in anticipo e scusate per la banalità dei miei quesiti ma conosco java solo da un mese.... Link al commento Condividi su altri siti Altre opzioni di condivisione...
Messaggi raccomandati
Archiviato
Questa discussione è archiviata e chiusa a future risposte.