Ciao a Tutti,
il mio problema è un'attimino diverso, ma riguarda lo stesso topic.
Da quando ho ripreso a programmare in Java non riesco a comprendere perché io non riesca a far fare ai miei programmi le cose più elementari.
Forse ci sarà qualche cosa che non ho capito nella logica di programmazione e vorrei tanto sciogliere questi miei dubbi con il vostro aiuto.
Posto il codice di una semplice Calcolatrice che dati 2 numeri interi esegue 3 semplicissime operazioni. La particolarità è che per avere un codice più pulito ho definito le 3 classi seguenti: Una Main Class, una Model Class e una Controller Class, ovvero mi piacerebbe rispettare, per quanto possibile il pattern MVC. Il problema è che sia che le dichiarazioni dei due operandi si trovino all'interno o all'esterno (vedi codice commentato) del metodo main, se tutti quanti i metodi e le variabili delle classi esterne non sono definite STATIC, continuo ad avere l'errore che si riporta nel Titolo di questa discussione.
Dove sto sbagliando?
Cosa dovrei modificare per farlo funzionare?
Grazie in anticipo per le risposte
Fulvio
package com.fulviotarable;
/**
*
* @author Fulvio
*/
public class Calcolatrice {
// int operando1 = Operandi.getOp1();
// int operando2 = Operandi.getOp2();
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
int operando1 = Operandi.getOp1();
int operando2 = Operandi.getOp2();
System.out.print("Alcune operazioni con i numeri ");
System.out.print(operando1);
System.out.print(" e ");
System.out.print(operando2);
int somma;
somma = Operazioni.getAdd(operando1, operando2);
System.out.println("\nLa somma vale: " + somma);
int differenza;
differenza = Operazioni.getSub(operando1, operando2);
System.out.println("La differenza vale: " + differenza);
int moltiplicazione;
moltiplicazione = Operazioni.getMul(operando1, operando2);
System.out.println("La moltiplicazione vale: " + moltiplicazione);
}
}
package com.fulviotarable;
/**
*
* @author Fulvio
*/
public class Operandi {
private int Op1 = -8;
private int Op2 = 5;
public int getOp1(){ return Op1;}
public int getOp2(){ return Op2;}
}
package com.fulviotarable;
/**
*
* @author Fulvio
*/
public class Operazioni {
public int getAdd(int operando1, int operando2)
{
return operando1 + operando2;
}
public int getSub(int operando1, int operando2)
{
return operando1 - operando2;
}
public int getMul(int operando1, int operando2)
{
return operando1 * operando2;
}
}