CERCA
PER MODELLO
FullScreen Chatbox! :)

Utente del giorno: Stahl con ben 18 Thanks ricevuti nelle ultime 24 ore
Utente della settimana: Stahl con ben 115 Thanks ricevuti negli ultimi sette giorni
Utente del mese: Stahl con ben 454 Thanks ricevuti nell'ultimo mese

Pagina 1 di 2 12 ultimoultimo
Ultima pagina
Visualizzazione dei risultati da 1 a 10 su 13
Discussione:

Jaca code

Se questa discussione ti è stata utile, ti preghiamo di lasciare un messaggio di feedback in modo che possa essere preziosa in futuro anche per altri utenti come te!
  1. #1
    Androidiano L'avatar di Ferri


    Registrato dal
    Jan 2011
    Messaggi
    129

    Ringraziamenti
    14
    Ringraziato 1 volta in 1 Post
    Post

    Jaca code

    Ciao a tutti!!!

    Vi sembrerà una stupidata, ma io non l ho trovata da nessuna parte

    Vorrei sapere come si stampa a video un risultato di due interi già dichiarati!Tipo...

    class Sum {
    int sumk (int x, int y) {
    x=1;
    y=2;
    int r=x+y;
    return r;
    non stampa nada il return Justo!?Nel più completo buio ho inserito System.out.println(r); ovvero:

    class Sum {
    int sumk (int x, int y) {
    x=1;
    y=2;
    int r=x+y;
    return r;
    System.out.println(r);
    }
    }
    }

    MA NADE DE NADA!Consigli?

    Grazzzzie a tutti in anticipo!
    _Il passante, in quanto tale, passò

  2.  
  3. #2
    Androidiano L'avatar di John66


    Registrato dal
    Jan 2011
    Messaggi
    198
    Smartphone
    Galaxy SII & Lenovo A660

    Ringraziamenti
    5
    Ringraziato 29 volte in 29 Posts
    Predefinito

    prova a mettere il system.out.println prima del return

  4. #3
    Androidiano L'avatar di Ferri


    Registrato dal
    Jan 2011
    Messaggi
    129

    Ringraziamenti
    14
    Ringraziato 1 volta in 1 Post
    Smile

    Grazie Grazie si il problema era li! Mi sai dire qusto listato che errori ha?Mi serirebbe una NotePad con debug per scrivere in java hai qualche idea?

    class corpo {
    public corpo(){
    int r = 2;
    int s = 5;
    int t = 3;
    System.out.println ("Nel codice sono inseriti a:"+r+", b:"+s+", c:"+t);
    int somma = r + s + t;
    System.out.println ("E il risultato della loro somma e': "+somma);
    }
    }
    }
    class ProvaDiSomma {
    public static void main(String[] a) {
    corpo Prova = new corpo();
    }
    }

    Un'altra cosa che magari sai dirmi...in main(Strng[] a){ cosa sarebbe "a"!?

    Grazzzzie!!
    _Il passante, in quanto tale, passò

  5. #4
    Androidiano L'avatar di Ferri


    Registrato dal
    Jan 2011
    Messaggi
    129

    Ringraziamenti
    14
    Ringraziato 1 volta in 1 Post
    Exclamation

    Ok "a" è il parametro che definisce l'array ok!

    Mi sai dire COME azz si fa a leggere un numero inserito da tastiera!?Mi puoi postare un minilistato o un link a listato simplicerrimo per inserimento valore int a?Tipo...

    class ProvaIns {
    public static void main (Integer[] a) {
    System.out.print("Inserisci un numero ");
    Inserimento a
    }
    }

    Grazie!
    _Il passante, in quanto tale, passò

  6. #5
    Androidiano L'avatar di John66


    Registrato dal
    Jan 2011
    Messaggi
    198
    Smartphone
    Galaxy SII & Lenovo A660

    Ringraziamenti
    5
    Ringraziato 29 volte in 29 Posts
    Post

    prima di tutto ti premetto che non sono uno specialista java. Vado giusto un po + in la di fare copia e incolla di quello che trovo sul web.

    Il listato che hai messo è contenuto in un unico file sorgente? Se si non credo tu possa definire due classi nello stesso file. Sposta la definizione della classe corpo dentro ProvaDiSomma:

    class ProvaDiSomma {
    class corpo {
    .....
    }
    public static void main(String[] a) {

    ecc

    per leggere un numero prova a vedere qui: how to read integers from keyboard? (Beginning Java forum at JavaRanch)

    E poi ti consiglio di usare un ide dedicato tipo jdeveloper o eclipse , e te lo dice uno che ha iniziato con il vi su server unix. L'aiuto che ti da, oltre al debugger, è immenso soprattutto se sei all'inizio con java

  7. #6
    Baby Droid


    Registrato dal
    Feb 2011
    Messaggi
    3

    Ringraziamenti
    0
    Ringraziato 2 volte in 2 Posts
    Cool

    Ciao, spero che il seguente codice ti sia di aiuto ;o)

    package com.test;

    import java.io.BufferedReader;
    import java.io.InputStreamReader;

    public class Calculator {

    public static void main(String[] args) {
    // Definiamo uno stream di lettura
    InputStreamReader in = new InputStreamReader(System.in); // System.in è lo standard input (riga di comando)
    // Definiamo un buffer di lettura
    BufferedReader reader = new BufferedReader(in);
    while (true) { // Ciclo infinito
    try { // La lettura da parte di un buffer può generare errori che devono essere gestiti
    System.out.println("Digita l'operazione da eseguire");
    System.out.println("+ - x :");
    // Leggiamo l'operazione scelta (digitata)
    String op = reader.readLine();
    // Controlliamo che sia stata scelta un'operazione valida
    if (op.equals("+") || op.equals("-") || op.equals("x") | op.equals(":")) {
    System.out.println("Digitare il primo numero");
    // Leggiamo il primo numero
    String pn = reader.readLine();
    System.out.println("Digitare il secondo numero");
    // Leggiamo il secondo numero
    String sn = reader.readLine();
    // Controlliamo che i valori digitati siano numeri (positivi o negativi, con o senza virgola)
    // PS: la virgola, ricordo, viene riconosciuta dal computer tramite il punto ;op
    if (pn.matches("[0-9]+[.]?[0-9]*") && sn.matches("(-)?[0-9]+[.]?[0-9]*")) {
    // Lo switch serve a capire quale operazione è stata scelta
    // Ricordo che lo switch funziona con numeri o singoli caratteri (char)
    switch (op.toLowerCase().charAt(0)) {
    case '+':
    System.out.println(pn + " + " + sn + " = " + (Double.parseDouble(pn) + Double.parseDouble(sn)));
    break;
    case '-':
    System.out.println(pn + " - " + sn + " = " + (Double.parseDouble(pn) - Double.parseDouble(sn)));
    break;
    case 'x':
    System.out.println(pn + " x " + sn + " = " + (Double.parseDouble(pn) * Double.parseDouble(sn)));
    break;
    case ':':
    if (Double.parseDouble(sn) > 0) {
    System.out.println(pn + " : " + sn + " = " + (Double.parseDouble(pn) / Double.parseDouble(sn)));
    } else {
    System.out.println("Il divisore deve essere maggiore di 0");
    }
    break;
    }
    System.out.println("Vuoi continuare? (y/n)");
    String yn = reader.readLine();
    if(!yn.equals("y")) {
    System.out.println("Bye! Bye!");
    // Terminiamo il nostro ciclo infinito perchè non si è scelto di continuare (y)
    System.exit(0);
    }
    } else {
    System.out.println("Spiacente, input numerici non validi.");
    }
    }
    } catch (Exception e) {
    // In questo caso è avvenuto un errore, ed è utile capire come e dove è avvenuto.
    e.printStackTrace();
    }
    }
    }

    }

    Dimenticavo.... usa eclipse (Eclipse - The Eclipse Foundation open source community website.) per sviluppare in java, è free ;op

  8. Il seguente Utente ha ringraziato doomiii per il post:

    Ferri (25-02-11)

  9. #7
    Androidiano L'avatar di Ferri


    Registrato dal
    Jan 2011
    Messaggi
    129

    Ringraziamenti
    14
    Ringraziato 1 volta in 1 Post
    Talking

    Grazie mille per tutti i consigli e per il SUPERLISTATO!!!!!!

    Adesso mi ci metto, lo studio e vi faccio sapere!A prima vista la cosa che mi mancava era il definire un oggetto Buffer che mi permetteva di applicargli le variabili in in..Ma adesso lo guardo meglio!!

    Grazie davvero per l'aiuto a tutti!Spero, un giorno, di poter ricambiare
    _Il passante, in quanto tale, passò

  10. #8
    Androidiano L'avatar di Ferri


    Registrato dal
    Jan 2011
    Messaggi
    129

    Ringraziamenti
    14
    Ringraziato 1 volta in 1 Post
    Question

    STO CAPENDO!

    L unica cosa che mi sfugge è questo passaggio:

    if (pn.matches("[0-9]+[.]?[0-9]*") && sn.matches("(-)?[0-9]+[.]?[0-9]*")) {

    matches controlla il valore di pn credo, ma non capisco "[0-9]+[.]?[0-9]*" tra parentesi [] passi i valori che possono essere inseriti ma i vari +, ? e * cosa sono!?
    Non parliamo delli valori di sn!! "(-)?[0-9]+[.]?[0-9]*" --> comecomecomee?!
    _Il passante, in quanto tale, passò

  11. #9
    Baby Droid


    Registrato dal
    Feb 2011
    Messaggi
    3

    Ringraziamenti
    0
    Ringraziato 2 volte in 2 Posts
    Cool

    Si chiama così ciò che ho scritto "(-)?[0-9]+[.]?[0-9]*"

    Analizziamola un po'

    Tanto per iniziare, diciamo quali sono i caratteri "chiave"
    I caratteri chiave sono i seguenti (li separo tutti da virgola): (,),[,],+,*,?,|,-
    Grazie a questi caratteri è possibile definire alcuni pattern che servono a verificare la correttezza di una stringa.

    Le parentesi tonde servono ad identificare una sequenza di caratteri
    Ad esempio: (abc) ci farebbe restituire true solo se la stringa che noi andremo a matchare sia "abc"; aggiungendo poi il carattere + avremmo true anche con "abcabc", cioè con almeno una della sequenza di caratteri messa tra parentesi; con * ( Es. (abc)* ) la stringa può anche essere vuota, o contenere la sequenza innumerevoli volte; ? invece verifica che la sequenza ci sia al max una volta (anche una stringa vuota ve bene)

    Andando un po' più nel complesso...

    Mettiamo caso che vogliamo verificare se una parola del tipo "pippo" contenga solo le lettere p,i,o
    "pippo".matches("(p|i|o)*")
    Il | tra caratteri indica che nella stringa ci deve essere uno di quei caratteri, e l'asterisco dopo la chiusura della parentesi, indica che uno o più di quei valori può essere ripetuto
    Se invece volessimo indicare un range di caratteri, invece di scriverli tutti, basta inserirlo tra le parentesi quadre.
    Es. "2274338459".matches("[0-9]+") verifica che la stringa contenga solamente numeri; "asfopjnldefoih".matches("[a-z]+") verifica che ci siano solo caratteri alfabetici; "adfpdrg324vsd".matches("[0-9|a-z]+") verifica che siano caratteri alfanumerici

    Mettendo tutto insieme secondo una giusta logica si può quindi verificare la correttezza di qualsiasi tipo di stringa.

    Quindi il match che ho scritto io (sn.matches("(-)?[0-9]+[.]?[0-9]*")) verifica che la stringa sn sia del tipo 123 oppure -123 oppure 123.123 oppure -123.123

    Spero di essermi spiegato abbastanza bene... purtroppo non sono il top nelle spiegazioni...

    Ciao ciao

    PS: le regular expression non sono solo questo, e spiegartelo qui significherebbe scrivere centinaia di righe guida che grazie al cielo qualcun altro ha già scritto. Cercale su google

  12. Il seguente Utente ha ringraziato doomiii per il post:

    Ferri (07-02-11)

  13. #10
    Androidiano L'avatar di Ferri


    Registrato dal
    Jan 2011
    Messaggi
    129

    Ringraziamenti
    14
    Ringraziato 1 volta in 1 Post
    Smile

    Capito!!!Grazie davvero grazie mille...L unica cosa che "manca" forse è il "?" che credo voglia dire - ci può essere o no. -

    Adesso devo fare qualche esempio by myself e applicarmi ma sei di grande aiuto davvero!!!

    GRAZIE!
    _Il passante, in quanto tale, passò

Pagina 1 di 2 12 ultimoultimo
Ultima pagina

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire risposte
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Torna su
Privacy Policy