Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
Java - Aiuto con esercizio Java
Forum - Java - Aiuto con esercizio Java

Pagine: [ 1 2 ] Precedente | Prossimo
Avatar
Lucym80 (Normal User)
Newbie


Messaggi: 7
Iscritto: 03/10/2019

Segnala al moderatore
Postato alle 20:07
Sabato, 05/10/2019
Salve a tutti,
avrei una domanda.
Mi sto adesso avvicinando al mondo Java e devo fare un esercizio. Devo creare un file per una calcolatrice, ma non cose complesse, devo far in modo che la calcolatrice esegue soltanto le prime 4 funzioni principali con numeri naturali, poi le cose più complesse verranno inserite man mano che andrò avanti con le lezioni.
Potete darmi qualche dritta, ho fatto vari tentativi e credo che manchi qualcosa.
Questo è il codice dell'ultimo tentativo; dovrebbe fare la somma, ma non va.
public class Calcolatrice {
public static void main(String[] args) {
           int a = Integer.parseInt(args[0]);
           int b = Integer.parseInt(args[1]);
int c=0;
while (b > 0) {
c= a+b;
            b = b-1; }
System.out.println("Il risultato del prodotto è +c");
}
}
Vi ringrazio anticipatamente!

PM Quote
Avatar
Mikelius (Member)
Expert


Messaggi: 525
Iscritto: 14/04/2017

Segnala al moderatore
Postato alle 20:57
Sabato, 05/10/2019
Che errore ti da?

"Non va" è troppo generico.

PS usa i tag CODE

PM Quote
Avatar
Lucym80 (Normal User)
Newbie


Messaggi: 7
Iscritto: 03/10/2019

Segnala al moderatore
Postato alle 1:10
Domenica, 06/10/2019
Salve, non
ricordo l'errore, poiché ho fatto molti tentativi. Quest'ultimo dovrebbe andare meglio, perché non mi dà errore, visto che si apre anche la finestra che chiede di inserire un numero, ma quando scrivo ad esempio 2+4 mi dà l'errore della class scanner.
il codice è questo:
import java.util.Scanner;
public class Calcolatrice {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.printf(" Inserisci un numero ");
int num1 =sc.nextInt();
System.out.printf("Digita un altro numero. ");
int num2= sc.nextInt();
System.out.println(    "Digita l'operazione da fare:\n1) somma;\n2) sottrazione;\n3) moltiplicazione;\n4) divisione.");
int scelta = sc.nextInt();
switch(scelta) {
case 1: {
    System.out.println("Hai scelto la somma.");
    int result = num1+num2;
System.out.printf("La somma tra %.2f e %.2f vale %.2f.\n", num1,num2,result);
break;
}    
case 2: {
    System.out.println("Hai scelto la sottrazione.");
int result = num1-num2;
System.out.printf("La differenza tra %.f e%.2f vale %.2f.\n", num1,num2,result);
break;
}
case 3: {
System.out.println("Hai scelto la moltiplicazione.");
int result = num1*num2;
System.out.printf("La moltiplicazione tra %.2f e %.2f vale%.2f\n", num1,num2,result);
break;
}
case 4: {
    System.out.println("Hai scelto la divisione.");
    int result = num1/num2;
    System.out.printf("La divisione tra %2f e %2f vale %2f.\n", num1,num2,result);
    break;
}
default: {
System.out.println("Scelta non riconosciuta.");
            break;
}
}
}
}
Ancora grazie!

PM Quote
Avatar
Carlo (Member)
Guru


Messaggi: 1316
Iscritto: 29/01/2018

Segnala al moderatore
Postato alle 1:53
Domenica, 06/10/2019
Quando scrivi il codice a sinistra della finestra c'è una casellina con scritto code, inserisci il codice tra code e /code
Codice sorgente - presumibilmente Java

  1. import java.util.Scanner;
  2. public class Calcolatrice {
  3. public static void main(String[] args) {
  4. Scanner sc = new Scanner(System.in);
  5. System.out.printf(" Inserisci un numero ");
  6. int num1 =sc.nextInt();
  7. System.out.printf("Digita un altro numero. ");
  8. int num2= sc.nextInt();
  9. System.out.println(    "Digita l'operazione da fare:\n1) somma;\n2) sottrazione;\n3) moltiplicazione;\n4) divisione.");
  10. int scelta = sc.nextInt();
  11. switch(scelta) {
  12. case 1: {
  13.     System.out.println("Hai scelto la somma.");
  14.     int result = num1+num2;
  15. System.out.printf("La somma tra %.2f e %.2f vale %.2f.\n", num1,num2,result);
  16. break;
  17. }    
  18. case 2: {
  19.     System.out.println("Hai scelto la sottrazione.");
  20. int result = num1-num2;
  21. System.out.printf("La differenza tra %.f e%.2f vale %.2f.\n", num1,num2,result);
  22. break;
  23. }
  24. case 3: {
  25. System.out.println("Hai scelto la moltiplicazione.");
  26. int result = num1*num2;
  27. System.out.printf("La moltiplicazione tra %.2f e %.2f vale%.2f\n", num1,num2,result);
  28. break;
  29. }
  30. case 4: {
  31.     System.out.println("Hai scelto la divisione.");
  32.     int result = num1/num2;
  33.     System.out.printf("La divisione tra %2f e %2f vale %2f.\n", num1,num2,result);
  34.     break;
  35. }
  36. default: {
  37. System.out.println("Scelta non riconosciuta.");
  38.             break;
  39. }
  40. }
  41. }
  42. }


Ultima modifica effettuata da Carlo il 06/10/2019 alle 2:04


in programmazione tutto è permesso
PM Quote
Avatar
nessuno (Normal User)
Guru^2


Messaggi: 6381
Iscritto: 03/01/2010

Segnala al moderatore
Postato alle 7:50
Domenica, 06/10/2019
Non devi inserire 2+4

Leggi il codice che hai copiato e vedi cosa ti chiede

Un numero
Un altro numero
Un valore numerico per indicare l'operazione


Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti (uno dei padri fondatori del moderno Calcolo delle probabilità) chiamava il gioco del Lotto Tassa sulla stupidità.
PM Quote
Avatar
Mikelius (Member)
Expert


Messaggi: 525
Iscritto: 14/04/2017

Segnala al moderatore
Postato alle 10:30
Domenica, 06/10/2019
1) Stai studiando java per conto tuo o in ambito scolastico/Universitario?
te lo chiedo perchè, se lo stai studiando per conto tuo, forse sarebbe meglio se ti approcciassi direttamente alla programazione ad oggetti, se sei in ambito scolastico/universitario segui il percorso che ha deciso il tuo professore.

2) Attento nella divisione al tipo di dato che stai trattando.

3) Se vuoi inserire direttamente l'espressione (Senza i 3 input) guarda il metodo split che trovi nella classe String.
L'errore deriva dal fatto che scanner si aspetta un int ( nextInt() ) invece se passi 2+4 lui il "+" non sa gestirlo come int e da l' eccezione (impara anche i termini corretti, non si chiamano errori ;) ). Potresti usare nextString(), dividere l'input tramite il metodo split() e poi convertire i numeri in interi. Questo è solo un metodo possibile

Ultima modifica effettuata da Mikelius il 06/10/2019 alle 10:36
PM Quote
Avatar
Lucym80 (Normal User)
Newbie


Messaggi: 7
Iscritto: 03/10/2019

Segnala al moderatore
Postato alle 12:12
Domenica, 06/10/2019
Salve, prima di tutto grazie a tutti. Sto cercando di imparare Java tramite un corso privato; al momento ho fatto solo qualche ora di corso e come esercizio mi è stato dato proprio il fatto di arrivare alla soluzione di una calcolatrice che faccia solo le 4 funzioni principali e solo con numeri naturali. Allora vedendo che mi dava molte eccezioni, mi sono messa accercare su internet e avevo trovato questo.
In realtà dovrei farlo usando la pseudocodifica, ma non riesco, mi dà parecchie eccezioni, quindi grazie a voi già ho imparato qualcosa in più. Si accettano suggerimenti!
Grazie a tutti!

PM Quote
Avatar
nessuno (Normal User)
Guru^2


Messaggi: 6381
Iscritto: 03/01/2010

Segnala al moderatore
Postato alle 12:41
Domenica, 06/10/2019
Hai letto la mia risposta?

Comunque l'esercizio lo devi scrivere tu e non copiare da internet senza neanche capirlo.

Se continui ad avere difficoltà di base chiedi al tuo docente.

Ultima modifica effettuata da nessuno il 06/10/2019 alle 12:44


Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti (uno dei padri fondatori del moderno Calcolo delle probabilità) chiamava il gioco del Lotto Tassa sulla stupidità.
PM Quote
Avatar
Lucym80 (Normal User)
Newbie


Messaggi: 7
Iscritto: 03/10/2019

Segnala al moderatore
Postato alle 23:25
Lunedì, 07/10/2019
Salve, allora: parlato con il Prof. Avevo capito io male, si deve fare sì, una calcolatrice, ma i valori per il momento li dobbiamo inserire noi, quindi nessun input inserito dall'utente. Devo fare però prima tutta una serie di esercizi e una ventina già li ho fatti adesso sto trovando dificoltà con uno, potete dirmi se notate errori.
Il libro dice di copiare e salvare questo testo:

public class NumeroIntero {
public int numeroIntero;
public void stampaNumero() {
System.out.println(numeroIntero);

}
}
Ora devo usare le variabili d'istanza e quindi ho creato un nuovo file che ho chiamato applicazione e ho scritto:

public class Applicazione {
public static void main (String args []) {
NumeroIntero uno = new NumeroIntero();
NumeroIntero due = new NumeroIntero();
uno.numeroIntero = 1;
due.numeroIntero = 2;
uno.stampaNumero();
due.stampaNumero();
}
}
Mi dà l'errore su NumeroIntero: secondo voi dove sbaglio?Dal libro che sto leggendo non vedo errori, ma probabilmente qualcosa mi sfugge.
Mille grazie a chi vorrà aiutarmi!

PM Quote
Pagine: [ 1 2 ] Precedente | Prossimo