|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: May 2001
Città: Firenze
Messaggi: 3795
|
[JAVA] un aiutino per questo (semplice) esercizio...
ciao a tutti chi mi potrebbe dare una mano per questo piccolo esercizio:
"devo prendere 2 numeri interi in input,stampare a video somma,prodotto,divisione,sottrazione e modulo% e strutturare il codice in modo che ci sia ogni metodo per ogni operazione nel main..." grazie a chiunque mi risponda e spero nel piu' breve tempo possibile perche' domani verro' sicuramente chiamato a dimostrarlo
__________________
Tantissime transazioni e nessun problema |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Jul 2002
Città: Milano
Messaggi: 19148
|
tu fino ad ora cosa hai fatto?
posta il codice e ciò che non hai capito |
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: May 2001
Città: Firenze
Messaggi: 3795
|
e' sicuramente un esercizio facile facile pero' il mio problema e' strutturarlo bene...
1 importo librerie java.text e java.io 2 inizio public class Numeri //cosi' la chiamero' 3 metodo main public static void main(String[] argv) 4 stampa a video "inserisci due numeri" 5 stringhe per l'input da tastiera 6 public static int somma(num1,num2) 7 return num1+num2 8 stampo a video la somma di num1 e num2.... e cosi' via per tutte le altre operazioni... va bene cosi' o sbaglio?
__________________
Tantissime transazioni e nessun problema |
|
|
|
|
|
#4 |
|
Bannato
Iscritto dal: Nov 2001
Città: Verona
Messaggi: 1086
|
Ormai arrivo tardi, ma sei sicuro che non vogliano tutto il programma all'interno del metodo main, cioè senza altri metodi di classe (peraltro un modo orrendo di usare java)?
|
|
|
|
|
|
#5 | |
|
Senior Member
Iscritto dal: May 2001
Città: Firenze
Messaggi: 3795
|
Quote:
Cmq come potrei fare: tutto all'interno del metodo main oppure usare altri metodi di classe?
__________________
Tantissime transazioni e nessun problema |
|
|
|
|
|
|
#6 |
|
Senior Member
Iscritto dal: Feb 2003
Città: Thessaloniki
Messaggi: 2214
|
6 sicuro che vi ha ciesto di farlo cosi? Non e' che ha chiesto una classe Numeri dove c'e' il main e un'altra con tutti i metodi dentro? Mi sembrerebbe molto piu' sensato anche perche' come giustamente ha detto PGI questo e' un modo orrendo di programmare. Nel caso comunque sia cosi' ti do un pezzettino di codice e tutto il resto del programma va fatto cosi':
public class Numeri { public static void main (String [] args) { System.out.println ("Inserisci 2 numeri"); int num1 = 6; //qui ovviamente li inserisco io mentre tu devi int num2 = 3; //usare ConsoleReader o altro per l'input System.out.println (somma(num1,num2)); } public static int somma(int num1, int num2) { return(num1+num2); } } |
|
|
|
|
|
#7 | |
|
Bannato
Iscritto dal: Nov 2001
Città: Verona
Messaggi: 1086
|
Quote:
In pratica nel main inizi con un boolean che controlla un ciclo (while) all'interno del quale fai girare il programma. Alla fine della routine chiedi se si vuole ricominciare e imposti a seconda della scelta dell'utente il booleano del ciclo principale a false o true, così tutto riparte oppure finisce. Nel mezzo fai più o meno lo stesso per gestire l'input utente. Non è così "banale" come può sembrare, perchè devi decide se e come gestire, ad esempio, l'input utente errato (che succede se chiedi un numero e lo stordito di turno scrive "ciao"? Se vuoi un esempio del codice, basta chiedere. Ciao. |
|
|
|
|
|
|
#8 |
|
Senior Member
Iscritto dal: Feb 2003
Città: Thessaloniki
Messaggi: 2214
|
Secondo me non deve essere fatto in maniera cosi' "complicata". Infatti il programma chiede semplicemente l'uso di 2 numeri che l'utente immette una sola volta e poi gira sempre con questi. Visto poi che l'esercizio e' semplice non credo ci sia bisogno di mettere exceptions o gestire l'input errato. Infatti sapendo gestire queste cose non il professore gli avrebbe chiesto di adoperarli in questo programma.
Comunque PGI non sto dicendo tutto questo per polemica e spero non ti offendi. Anzi mi sa che avro' bisogno del tuo aiuto adesso per un problema di array sempre in Java. Posto il quesito e il codice in questo post o dici che e' meglio aprirne un' altro? |
|
|
|
|
|
#9 | |
|
Bannato
Iscritto dal: Nov 2001
Città: Verona
Messaggi: 1086
|
Quote:
Può essere benissimo come dici, forse è un esercizio su un solo ciclo, tutto dipende in realtà da quello che vuole chi chiede che quell'esercizio sia fatto. Per l'aiuto, se so rispondo volentieri. Forse è meglio un altro post , così hai anche modo di avere più risposte. Ciao. |
|
|
|
|
|
|
#10 |
|
Senior Member
Iscritto dal: Feb 2003
Città: Thessaloniki
Messaggi: 2214
|
OK! Ti ringrazio della disponibilita' e comincio a scrivere!
Ciao |
|
|
|
|
|
#11 | |
|
Senior Member
Iscritto dal: May 2001
Città: Firenze
Messaggi: 3795
|
Quote:
__________________
Tantissime transazioni e nessun problema |
|
|
|
|
|
|
#12 |
|
Bannato
Iscritto dal: Nov 2001
Città: Verona
Messaggi: 1086
|
A dirla tutta è la prima volta che faccio un programma interamente a linea di comando, non so se sia un buon esempio di programmazione...però funziona!
Codice:
//**************************************
//*che razza di maniera per usare Java!*
//**************************************
import java.io.*;
import java.awt.*;
import java.util.*;
class Test {
public static void main(String[] a) {
Date d=new Date();
System.out.println("Oggi: "+d);
BufferedReader reader=new BufferedReader(new InputStreamReader(System.in));
int ch=0;
int numero1=0;
int numero2=0;
boolean execute=true;
boolean nextStep=true;
String inString=null;
while(execute) {
nextStep=true;
inString="";
System.out.print("Inserire il primo numero: ");
try {
inString=reader.readLine();
numero1=Integer.parseInt(inString);
} catch(IOException e) {
System.out.println(e);
nextStep=false;
} catch(NumberFormatException e) {
System.out.print(inString+" non e' un numero\n");
nextStep=false;
}
if(nextStep) {
System.out.print("Inserire il secondo numero: ");
try {
inString=reader.readLine();
numero2=Integer.parseInt(inString);
} catch(IOException e) {
System.out.println(e);
nextStep=false;
} catch(NumberFormatException e) {
System.out.print(inString+" non e' un numero\n");
nextStep=false;
}
}
if(nextStep) {
boolean ok=false;
while(!ok) {
System.out.println("1: "+numero1+" 2: "+numero2);
System.out.println("Selezionare la funzione");
System.out.println("Somma [+]");
System.out.println("Sottrazione [-]");
System.out.println("Divisione [/]");
System.out.println("Moltiplicazione [*]");
System.out.println("Modulo [%]");
System.out.println();
System.out.println("Uscire [x]");
try {
inString=reader.readLine();
} catch(IOException e) {
System.out.println(e);
ok=false;
nextStep=false;
}
if(inString.length()==1) {
ok=true;
}
}
}
char c=inString.charAt(0);
if(nextStep) {
switch(c) {
case '+':
System.out.println((numero1+numero2));
break;
case '-':
System.out.println((numero1-numero2));
break;
case '/':
System.out.println((numero1/numero2));
break;
case '*':
System.out.println((numero1*numero2));
break;
case '%':
System.out.println((numero1%numero2));
break;
case 'x':
nextStep=false;
execute=false;
break;
}
}
if(nextStep) {
boolean ok=false;
while(!ok) {
System.out.println("Continuare? [s] [n]: ");
try {
inString=reader.readLine();
} catch(Exception e) {
System.out.println(e);
execute=false;
}
if(inString.length()==1) {
if(inString.equals("n")) {
ok=true;
execute=false;
}
if(inString.equals("s")) {
ok=true;
}
}
}
}
}
}
}
|
|
|
|
|
|
#13 | |
|
Senior Member
Iscritto dal: May 2001
Città: Firenze
Messaggi: 3795
|
Quote:
ciao
__________________
Tantissime transazioni e nessun problema |
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 21:53.



















