Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1

    [java]

    Salve a tutti, sono un principiante e avrei bisogno di aiuto per una piccola applicazione java.ecco parte del codice delle 2 classi:

    public class gestore implements ILibrettoElettronico {
    private VotoEsame[] v;
    int index=0;
    ACMEConsole consvoto= new ACMEConsole();

    public gestore(){
    v=new VotoEsame[60];
    }

    public void menu(){
    System.out.println(" ");
    System.out.println("0 - registrazione nuovo voto");
    System.out.println("1 - Ricerca e visualizzazione voto");
    System.out.println("2 - Calcolo media");
    System.out.println("3 - Salva dati su disco");
    System.out.println("4 - Carica dati da disco");
    System.out.println("5 - Uscita");
    System.out.println("Scelta? ");

    }

    public int sceltaMenu(){
    int scelta=consvoto.readInteger().intValue();//Legge la scelta effettuata
    return scelta;
    }

    public boolean registraVoto(String nomeEsame, int voto, String data) {
    v[index]= new VotoEsame(nomeEsame, voto, data);
    if(voto>18 && voto<30){
    index++;
    consvoto.printString("ok!");
    return true;
    }
    if(voto<18){
    consvoto.printString("L'esame ha un voto non sufficiente");
    }
    if(voto>30){
    consvoto.printString("L'esame ha un voto non valido");
    }
    return false;
    }
    .
    .
    .

    public class GestoreLibretto {
    public static void main(String[] argv){
    gestore libretto = new gestore();//bisogna creare un nuovo libretto per metterci i dati dentro
    ACMEConsole cons = new ACMEConsole();
    libretto.menu();
    // int scelta=libretto.sceltaMenu(); //Legge la scelta effettuata
    while (libretto.sceltaMenu()!=5){
    if(libretto.sceltaMenu()==0){
    cons.printString("Inserisci esame:");
    String nomeEsame = cons.readString();
    cons.printString("Inserisci voto:");
    int voto = cons.readInteger().intValue();
    cons.printString("Inserisci data:");
    String data = cons.readString();
    libretto.registraVoto(nomeEsame,voto,data);
    libretto.menu();
    //libretto.sceltaMenu();
    }

    if(libretto.sceltaMenu()==1){
    cons.printString("Immetti il nome dell'esame:");
    String escercato=cons.readString();
    libretto.ricercaEsame(escercato);
    libretto.menu();
    //libretto.sceltaMenu();
    }

    if(libretto.sceltaMenu()==2){
    libretto.calcolaMedia();
    //libretto.sceltaMenu();
    }

    .
    .
    .

    Il mio problema č ke quando inserisco la scelta nella console, devo inserirla 2 volte o + prima che mi compaia la scritta relativa...x esempio se scelgo "0", devo fare "0" (invio), "0"(invio), e poi solo dopo la seconda volta appare la scritta "Inserisci esame"... negli altri casi di scelta devo inserire il numero fino a 5 volte... dove puņ essere il problema? grazie saluti a tutti

  2. #2
    Utente di HTML.it L'avatar di floyd
    Registrato dal
    Apr 2001
    Messaggi
    3,837
    ma lo chiedi molte volte
    codice:
    int scelta=libretto.sceltaMenu(); //Legge la scelta effettuata
    while (scelta != 5) {
      if (scelta == 0){
        roba
      } else if (scelta == 1) {
        roba
      }
    }

  3. #3
    purtroppo anke con l'else non cambia niente...inoltre, usando la variabile scelta invece che libretto.sceltamenu(), una volta fatte le operazioni di una scelta, rivisualizza il menu e poi la scelta ancora una volta...

  4. #4
    Utente di HTML.it L'avatar di floyd
    Registrato dal
    Apr 2001
    Messaggi
    3,837
    mi spiego meglio
    codice:
    void domanda() {
      int scelta=libretto.sceltaMenu(); // chiede
      switch (scelta) {
      case 0:
        // code se č 0
        break;
      case 1:
        // code se č 1
        break;
      ...
      case 5:
        System.exit(0);
      default:
        // č una roba che non hai previsto
      }
    }
    while (true)
      domanda();

  5. #5
    scusa ma non riesco a capire, se t invio il file all'email me lo modifichi? non c'č modo di modificare il tutto senza usare il case? grazie della disponibilitą

  6. #6
    Utente di HTML.it L'avatar di floyd
    Registrato dal
    Apr 2001
    Messaggi
    3,837
    ok fai cosģ
    codice:
    int scelta;
    while ((scelta = libretto.sceltaMenu()) != 5) {
    if (scelta == 0) {
    ...

  7. #7
    grazie, tra poco provo come hai detto...prima dovrei risolvere un altro problema... x testare se 2 stringhe sono uguali si usa equals, e per testare se sono diverse? grazie

  8. #8
    Utente di HTML.it L'avatar di floyd
    Registrato dal
    Apr 2001
    Messaggi
    3,837
    !str1.equals(str2)

  9. #9
    GRANDISSIMOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO
    mi hai salvato!!! grazie mille!il mio amico ke ha progettato questa piccola applicazione insieme a me vuole sapere cos'avevamo fatto di sbagliato noi...grazieeeeeeeeeeeee... ciao ciao

  10. #10
    sono sorte altre domande...

    1. in System.exit(0); cosa significa lo 0? mi serve saperlo xkč il prof lo chiederą sicuramente...

    2. all'inzio della classe gestore ho creato un array di 60 elementi...come faccio a crearlo in modo che abbia soltanto le posizioni che servono, visto che in questo modo crea 60 posizioni di cui quasi tutte restano inutilizzate occupando memoria...

    grazie ancora e scusa il disturbo

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.