Incapsulamento

di il
4 risposte

Incapsulamento

Salve, mi sto esercitando con l'incapsulamento, ma al momento sono bloccato/non ho capito cosa posso fare per andare avanti con questo codice:
Prima classe:
public class ContoHype {
	
	private String contoBancario = "26 euro";
	private int codice = 1234;
	private int codiceCheHoInserito;
	
	public void setCodiceInserito(int cod) { 
		codiceCheHoInserito = cod;
	}
	
	public int getCodiceInserito() {
		return codiceCheHoInserito;
	}
	
	public String getContoBancario() {
		if (codiceCheHoInserito == codice) {
		return contoBancario;
		}
		else {
			return "Codice errato!";
		}
		
	}
	

}
Main class:
public class Main3 {

	public static void main(String[] args) {
		
		ContoHype conto = new ContoHype();
		
		Scanner in = new Scanner(System.in);
		System.out.print("Inserisci codice: ");
		int prov = in.nextInt();
		
		if (prov == conto.getCodiceInserito()) {
			System.out.print(conto.getContoBancario());
			
		}
		

	}

}
Il mio problema e' nella classe main, non riesco a fare in modo che se il codice che inserisco e' uguale a quello citato nella classe precendente (ovvero 1234), allora mi mostra il saldo se e' errato mi da un messaggio d'errore.
Grazie.

4 Risposte

  • Re: Incapsulamento

    Dove chiami il metodo "setCodiceInserito"?
  • Re: Incapsulamento

    surfernet ha scritto:


    Dove chiami il metodo "setCodiceInserito"?
    In che senso? Dovrei chiamarlo nel main?
    Edit:
    Ho risolto e ho capito dove stavo sbagliando, grazie del supporto!
  • Re: Incapsulamento

    Loree7 ha scritto:


    ...

    Scanner in = new Scanner(System.in);
    System.out.print("Inserisci codice: ");
    int prov = in.nextInt();
    ...
    Scusate l'intromissione. Volevo capire una cosa: a scuola (ormai circa 15 anni fa) quando mi hanno insegnato Java, per l'input da tastiera mi facevano utilizzare le classi InputStreamReader e BufferedReader. Quì invece, se non ho capito male il codice, tu utilizzi Scanner. Cosa cambia? Quale sarebbe meglio utilizzare? (se c'è un meglio).

    Grazie.
  • Re: Incapsulamento

    AngeloI ha scritto:


    per l'input da tastiera mi facevano utilizzare le classi InputStreamReader e BufferedReader. Quì invece, se non ho capito male il codice, tu utilizzi Scanner. Cosa cambia? Quale sarebbe meglio utilizzare? (se c'è un meglio).
    InputStreamReader è solo un "adattatore" da InputStream ad un Reader (perché InputStreamReader è-un Reader).
    BufferedReader invece "sa" fare la bufferizzazione e in più leggere "a righe". Ma qualunque ragionamento su cosa c'è nelle righe e come trattarlo è sostanzialmente a "carico" tuo.

    Scanner invece è un po' più evoluto, perché è un "tokenizzatore", sa già separare l'input testuale in token ed è in grado di estrarre valori di tipo primitivo (es. int, double).
Devi accedere o registrarti per scrivere nel forum
4 risposte