Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2011
    Messaggi
    22

    Main

    Scusatemi veramente tanto se chiedo sempre consigli ma nn avendo mai programmato e nn avendo mai approfondito JAVA qst progetto universitario mi sta veramente facendo uscire pazza


    Ho il seguente main:

    codice:
    package client;
    import java.rmi.RemoteException;
    
    import javax.mail.internet.NewsAddress;
    import javax.sound.midi.MidiDevice.Info;
    
    import org.apache.axis2.AxisFault;
    import org.example.www.if1.*;
    public class SnodoSclient {
    
    	public static void main(String[] args) {
    		try {
    			ServiceIF1Stub client= new ServiceIF1Stub("http://localhost:8080/axis2/services/ServiceIF1");
    			PrintToVideoIF1 print = new PrintToVideoIF1();
    			LeggiStringa str= new LeggiStringa();
    			
                            print.PrintGetId(client);
    			print.PrintGetAll(client);
    		
    		}
    		catch (AxisFault e) {
    			e.printStackTrace();
    		}
    	}	
    	
    }
    Come puoi notare nel main vengono fatte due chiamate e due metodi:

    1)PrintGetId
    2)PrintGetAll

    Ora, mi chiedevo se era possibile inserire nel main un codice che mi consentiva di dire:

    System.out.println("Inserisci getId se vuoi eseguire PrintGetId e getAll se vuoi eseguire PrintGetAll")

    E a seconda del valore stampato inseriro dall'utente viene dato avvio al metodo PrintGetId o PrintGetAll.

    Io avevo pensato di scrivere il seguente MAIN

    codice:
    	public static void main(String[] args) {
    		try {
    			ServiceIF1Stub client= new ServiceIF1Stub("http://localhost:8080/axis2/services/ServiceIF1");
    			PrintToVideoIF1 print = new PrintToVideoIF1();
    			LeggiStringa str= new LeggiStringa();
                            
                            System.out.println("Inserisci getId se vuoi eseguire PrintGetId e getAll se vuoi eseguire PrintGetAll")             
                            if(str.readString=="getId") print.PrintGetId(client);
                            else if (str.readString=="getAll")print.PrintGetAll(client);
                            else System.out.println("Richiesta non valida")
    		
    		}
    		catch (AxisFault e) {
    			e.printStackTrace();
    		}
    	}	
    	
    }
    Dove LeggiStringa è la classe che consente di leggere input da tastiera e che ho implementato così:

    codice:
    package client;
    
    import java.io.BufferedReader;
    import java.io.IOException;
    import java.io.InputStreamReader;
    
    public class LeggiStringa {
    
    	public String readString(){
    		String str= new String();
    		InputStreamReader reader = new InputStreamReader (System.in);
    		BufferedReader myInput = new BufferedReader(reader);
    		try
    	      {
    	        str = myInput.readLine();
    	      }
    	      catch (IOException e)
    	      {
    	    	  e.printStackTrace();
    	      }
    	      return str;  }}}
    Ma nn mi funziona....
    Mi scuso veramente tanto. Grazie in anticipo!!! ciao ciao

  2. #2

    Re: Main

    Originariamente inviato da sprax_87
    Io avevo pensato di scrivere il seguente MAIN

    public static void main(String[] args) {
    try {
    ServiceIF1Stub client= new ServiceIF1Stub("http://localhost:8080/axis2/services/ServiceIF1");
    PrintToVideoIF1 print = new PrintToVideoIF1();
    LeggiStringa str= new LeggiStringa();

    System.out.println("Inserisci getId se vuoi eseguire PrintGetId e getAll se vuoi eseguire PrintGetAll")
    if(str.readString=="getId") print.PrintGetId(client);
    else if (str.readString=="getAll")print.PrintGetAll(client );
    else System.out.println("Richiesta non valida")

    }
    catch (AxisFault e) {
    e.printStackTrace();
    }
    }

    }
    Ci sono due errori:
    - invochi senza le parentesi il metodo readString;
    - usi l'operatore ==, quando invece devi usare il metodo equals per effettuare il confronto. String non è un tipo primitivo.

    codice:
        if ( str.readString().equals("getId") ) 
             print.PrintGetId(client);
        else if ( str.readString().equals("getAll") )
             print.PrintGetAll(client);

  3. #3
    Utente di HTML.it
    Registrato dal
    Jun 2011
    Messaggi
    22
    Così facendo ho riscontrato i seguenti problemi:

    1)quando scrivo nella console getId nn ho nessun problema mi parte subito il metodo PrintGetId(client);
    2)x il metodo PrintGetId(client) getAll lo devo scrivere per due volte consecutive perchè quando lo scrivo per la prima volta premo invio nn succede nulla..riscrivo getAll e mi parte il metodo PrintGetId(client).

    Perchè?

  4. #4
    Originariamente inviato da sprax_87
    Così facendo ho riscontrato i seguenti problemi:

    1)quando scrivo nella console getId nn ho nessun problema mi parte subito il metodo PrintGetId(client);
    2)x il metodo PrintGetId(client) getAll lo devo scrivere per due volte consecutive perchè quando lo scrivo per la prima volta premo invio nn succede nulla..riscrivo getAll e mi parte il metodo PrintGetId(client).

    Perchè?
    Devi salvare la stringa ricevuta in una variabile:
    codice:
       String value = str.readString();
    
        if ( value.equals("getId") ) 
             print.PrintGetId(client);
        else if ( value.equals("getAll") )
             print.PrintGetAll(client);

  5. #5
    Utente di HTML.it
    Registrato dal
    Jun 2011
    Messaggi
    22
    Siiiiiii GRANDEEEEEEE FUNZIONAAA
    Grazie veramente tanto

  6. #6
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320

    Moderazione

    E per le prossime volte, il codice va postato intentato e all'interno degli appositi tag CODE, in modo da renderlo leggibile.

    Inoltre, un titolo più discorsivo renderebbe più facile la comprensione del contenuto della discussione.

    Ultimo, ma non per importanza: non serve a nulla dire "non funziona", senza aggiungere cosa non funziona (compilazione? esecuzione? con quali errori/eccezioni?) e, possibilmente, dove non funziona (sia il compilatore che l'esecutore Java dicono la linea esatta in cui riscontrano il problema).

    Tutto questo è scritto nel Regolamento interno di questo forum.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

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 © 2025 vBulletin Solutions, Inc. All rights reserved.