Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2011
    Messaggi
    29

    problema con i metodi :(

    buonasera!
    ho creato dei metodi che ritornano una String.
    come faccio a poter mettere le mani su queste stringhe?
    ad es:

    public String metodo1 (String a){
    return a;
    }

    public String metodo2 (String b){
    return b;
    }

    public void gestisci(){

    System.Out.Println("stampa le stringhe: "+a+b);
    }

    cosa c'è di sbagliato concettualmente?


    l'errore che genera è questo:
    cannot find symbol
    symbol:variable a

    ovviamente anche per b...come lo risolvo?

  2. #2
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4,157
    A parte non aver capito perché ritorni il valore che hai passato come parametro, l'errore ti dice che il simbolo non lo trova perché non è stato definito.
    Devi definire e inizializzare correttamente a e b prima di poterli utilizzare.

    Ad esempio

    codice:
    String a = "ciao "; 
    String b = "mondo"; 
    
    System.out.println("stampa le stringhe: "+a+b);
    funziona
    RTFM Read That F*** Manual!!!

  3. #3
    Utente di HTML.it
    Registrato dal
    Jul 2011
    Messaggi
    29
    la stringa che ritorno è la stessa del parametro, perchè in realtà questo parametro viene fornito da un'altra classe con l'editor grafico. più precisamente me la fornisce l'utente quando digita su un jTextArea. non posso sapere cosa conterrà la stringa a e cosa la stringa b. non c'è un modo perchè si prendano queste benedette stringhe a e b e io le possa manipolare?

  4. #4
    Utente di HTML.it
    Registrato dal
    Dec 2009
    Messaggi
    613
    Originariamente inviato da swaqpoli
    la stringa che ritorno è la stessa del parametro, perchè in realtà questo parametro viene fornito da un'altra classe con l'editor grafico. più precisamente me la fornisce l'utente quando digita su un jTextArea. non posso sapere cosa conterrà la stringa a e cosa la stringa b. non c'è un modo perchè si prendano queste benedette stringhe a e b e io le possa manipolare?
    Se ricevi i dati che ti servono tutti in una volta, fai ciò che devi direttamente nel metodo che, per l'appunto, li riceve come parametri:

    codice:
    void metodo(String a, String b) {
      System.out.println(a + b);
    }
    se invece le ricevi in momenti diversi e vuoi fare ciò che devi in un certo momento, la tua classe deve avere dei campi in cui salvarsi i parametri per poterli usare successivamente:

    codice:
    class Classe {
    
      private String a, b;
    
      void metodo(String a) {
        this.a = a;
      }
    
      void altroMetodo(String b) {
        this.b = b;
      }
    
      void gestisci() {
        System.out.println(a + b);
      }
    
    }
    ma se non spieghi meglio ciò che vuoi fare è dura...

  5. #5
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4,157
    allora quando devi fare una roba del genere fai

    codice:
    public String getTextValore(){
       return jtextarea.getValue(); 
    }
    o getText abbi pazienza non ricordo l'API a memoria.

    Infine, che significa non sai che valore valgono? Mica te le puoi inventare in java le variabili.
    per usare una variabile devi:

    1. dichiararla (
    codice:
    String a;
    )
    2. inizializzarla (
    codice:
    a = "ciao "
    )
    3. usarla

    La sequenza deve essere rispettata, non importa che siano una dopo l'altra, ma devono esistere.
    Il fatto che non sai cosa conterrà non vuole dire niente, devi comunque dichiararla e valorizzarla e il valore da qualche parte te lo prendi, non penso cada dal cielo.
    Queste sono le regole della programmazione in java, non puoi prescindere da queste
    RTFM Read That F*** Manual!!!

  6. #6
    Utente di HTML.it
    Registrato dal
    Jul 2011
    Messaggi
    29
    mi spiego meglio.

    c'è una casella jtext da dove un utente digita un numero di telefono.
    dalla classe con il frame (RubricaFrame) io prendo questo numero di telefono:


    String numerotelefono;
    Rubrica rubrica=new Rubrica;

    private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
    numerotelefono=jTextField3.getText();
    rubrica.gestiscitel(numerotelefono);
    }

    in un'altra classe Rubrica, c'è:

    public String gescitel(String numero){
    System.out.println("il numero digitato è: "+numero);
    return numero;
    }



    quando cerco di prendere numero (sempre come String) e usarlo per altri metodi (ancora non scritti) non riesco a prenderlo! ma un metodo String non dovrebbe ritornare una stringa che io posso usare come voglio?

  7. #7
    Utente di HTML.it
    Registrato dal
    Jul 2011
    Messaggi
    29
    KAAMOS!!!
    Grazie infinite ti devo una birra
    risolto!!!! dovevo dichiararle come private e poi usare la parolina magica this.
    grazie anche a valia

  8. #8
    Utente di HTML.it
    Registrato dal
    Dec 2009
    Messaggi
    613
    Originariamente inviato da swaqpoli
    KAAMOS!!!
    Grazie infinite ti devo una birra
    risolto!!!! dovevo dichiararle come private e poi usare la parolina magica this.
    grazie anche a valia
    Prego, ma giusto per chiarezza, né private né this erano il problema, la questione era che dovevi semplicemente avere dei campi in cui mettere le stringhe, si poteva fare anche senza private e this:

    codice:
    class Classe {
    
      String a, b;
    
      void metodo(String prima) {
        a = prima;
      }
    
      void altroMetodo(String seconda) {
        b = seconda;
      }
    
      void gestisci() {
        System.out.println(a + b);
      }
    
    }
    Ciao, e leggi i primi capitoli di qualche libro di Java, almeno da saperti raccapezzare!

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.