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

Discussione: Leggere Dati di Input

  1. #1

    Leggere Dati di Input

    BuonGiorno a tutti

    ho da pochi giorni iniziato a studiare JAVA per cui mi scuso da subito se la domanda potrà sembrare ai più banale.

    Avrei la necessità di leggere un numero digitato dall'utente tramite tastiera e in base al numero digitato (e poi letto) esporre in output delle frasi.

    ho letto in giro in internet che esistono delle classi in java per permettere di leggere dai dati in input , ma come faccio poi a richiamare queste classi sul mio programma MAIN dove poi leggo il dato imputato e creo le condizione per visualizzare l'output?

    Grazie 1000

    Andrea

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,283
    Quote Originariamente inviata da warrentk80 Visualizza il messaggio
    Avrei la necessità di leggere un numero digitato dall'utente tramite tastiera e in base al numero digitato (e poi letto) esporre in output delle frasi.

    ho letto in giro in internet che esistono delle classi in java per permettere di leggere dai dati in input , ma come faccio poi a richiamare queste classi sul mio programma MAIN dove poi leggo il dato imputato e creo le condizione per visualizzare l'output?
    Se intendi l'input da standard-input, tipicamente in una "console", il modo più semplice da Java 5 in poi è usare la classe java.util.Scanner collegata a System.in.

    codice:
    Scanner scanner = new Scanner(System.in);
    // vedi metodi di Scanner
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    ho creato un file Java Main.Java con questo codice,

    codice:
    import java.util.Scanner;
    
        public class Main
        {
            public static void main(String[] argv)
            {
                Scanner scanner = new Scanner(System.in);
    
                while(scanner.hasNext())
                {
                    System.out.println(scanner.next());
                }
    
                scanner.close();
            }
        }

    eseguendo il comando javac ottengo il file class, poi quando eseguo il java Main.class ottengo il messaggio impossibile trovare o caricare la classe principale Main.
    Ultima modifica di LeleFT; 30-04-2014 a 13:39 Motivo: Aggiunti i tag CODE

  4. #4
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,315
    Quando mandi in esecuzione non devi mettere .class ma solo il nome della classe.

    Compilazione:
    javac NomeClasse.java

    Esecuzione:
    java NomeClasse



    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

  5. #5
    Anche eseguendo il comando Java Main mi restituisce lo stesso errore.

    pensavo fosse un problema dovuto al fatto che ho chiamato il file java (e quindi poi la class) "Main", ma anche chiamando il file input.java ed eseguendo poi il comando java input mi da errore.

  6. #6
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,283
    Quote Originariamente inviata da warrentk80 Visualizza il messaggio
    Anche eseguendo il comando Java Main mi restituisce lo stesso errore.
    Se
    java Main

    non trova la classe Main, prova

    java -classpath . Main

    e se funziona, vuol dire che nella variabile di ambiente CLASSPATH hai qualcosa che non comprende in modo assoluto o relativo la directory in cui hai la tua classe.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  7. #7
    anche eseguendo il comando java -classpath . input mi restituisce lo stesso errore.

    è corretto il codice?

    Grazie

    Andrea

  8. #8
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,283
    Quote Originariamente inviata da warrentk80 Visualizza il messaggio
    anche eseguendo il comando java -classpath . input mi restituisce lo stesso errore.

    è corretto il codice?
    Il codice sì, di per sé è corretto e compila. L'hai compilato, cioè hai ottenuto un Main.class?
    Se sì, allora

    java -classpath . Main

    deve funzionare. Può non funzionare solo se non sei nella directory dove c'è Main.class oppure se non hai la "bin" del JDK in PATH (ma allora neanche soltanto javac lo trovavi senza specificare un path assoluto!)
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  9. #9
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,315
    Quote Originariamente inviata da andbin Visualizza il messaggio
    Può non funzionare solo se non sei nella directory dove c'è Main.class oppure se non hai la "bin" del JDK in PATH (ma allora neanche soltanto javac lo trovavi senza specificare un path assoluto!)
    ... o se il codice della classe contiene l'indicazione della clausola package (cosa che nel codice da te postato non c'è, quindi non ci siamo posti il problema).


    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

  10. #10
    Forse ho risolto il problema , avevate ragione, è un discorso di Path

    praticamente l'esecuzione di Javac funziona da qualsiasi path, mentre per eseguire java devo prima indicargli il percorso di dove si trova il comando

    comunque cosi facendo l'elecuzione del file class non va in errore.

    Grazie 1000 alla prossima

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.