Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 17
  1. #1
    Utente di HTML.it L'avatar di ViPah
    Registrato dal
    Nov 2008
    Messaggi
    26

    Chiarimento

    Qualcuno è cosi gentile da spiegarmi come creare correttamente una classe, esplicitarne campi e definire metodi della classe stessa in modo da poter essere usati in altri programmi?

    Ad esempio supponiamo di voler creare la classe parole, che contenga parola1, e parola2 inserite da utente.

    io creerò
    codice:
    public class Parole {
    con questi campi

    codice:
     private String parola1, parola2;
    supponiamo che ora io voglia un metodo che mi conti il numero delle vocali contenute nella parola1, inserita dall'utente. Come si procede?

    butto giu questo pezzetto di codice, pur non avendo le idee chiare su come si operi.



    codice:
    public int nvocparola1() {
    
    int p=parola1.length();
    int cont=0;
           
    for (int i=0; i<p ; i++){
           char c= (parola1.charAt((p-1)-i));
                if (c=='a' ||c=='e'||c=='i'||c=='o'||c=='u')
                cont=cont+1;}
           return cont;}

    Qualcuno mi può spiegare chiaramente come funziona?

  2. #2
    Nella classe Parole devi avere due metodi per settare il valore delle due parole. In realtà come regola è bene avere anche i metodi per recuperarne i valori. Questi metodi "particolari" vengono definiti setter e getter.

    Codice PHP:

    public String getParola1(){
       return 
    parola1;
    }

    public 
    String getParola2(){
       return 
    parola2;
    }

    public 
    void setParola1(String value){
       
    this.parola1 value;
    }

    public 
    void setParola2(String value){
       
    this.parola2 value;

    Definisci poi un'altra classe per lanciare il tutto:

    Codice PHP:
    public class TestParole{
         public static 
    void main(String[] args){
              
    Parole obj = new Parole();
              
    obj.setParola1("CIAO");
              
    obj.setParola2("BENVENUTO");

              
    System.out.println(obj.nvocparola1);
              
    System.out.println(obj.nvocparola2);
         }


    PS: nel for puoi fare anche direttamente:

    Codice PHP:
    for(int i=0i<i++){
         
    char c= (parola1.charAt(i));
         ..... 
    Al mio segnale... scatenate l'inferno!

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

    Moderazione

    E, come sempre, attenzione ai titoli....


    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

  4. #4
    Utente di HTML.it L'avatar di ViPah
    Registrato dal
    Nov 2008
    Messaggi
    26
    i metodi get, sono necessari per il funzionamento del programma?


    inoltre, appena invoco il metodo nvocparola1() su uz, appena costrutto, mi dice "identifier expected".

    Ricordo a tutti che sono alle prime armi. Non prendetemi a calci in

  5. #5
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,327
    Era un errore che è scappato a R@ve M@ster (probabilmente intendeva indicarti che devi invocare il metodo per ritornare le parole, i getter).

    codice:
    System.out.println( obj.getParola1() );
    System.out.println( obj.getParola2() );
    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

  6. #6
    Utente di HTML.it L'avatar di ViPah
    Registrato dal
    Nov 2008
    Messaggi
    26
    no ragazzi non ci siamo mi sto perdendo.


    Codice PHP:
    import prog.io.*;

    public class 
    Parole {
      
      private 
    String parola1parola2;

      public 
    String getparola1(){
             return 
    parola1;
    }
      public 
    String getparola2(){
             return 
    parola2;
    }
      public 
    int nvocparola1() {
           
    int p=parola1.length();
           
    int cont=0;
           for (
    int i=0i<i++){
           
    char c= (parola1.charAt((p-1)-i));
                if (
    c=='a' ||c=='e'||c=='i'||c=='o'||c=='u')
                
    cont=cont+1;}
           return 
    cont;}}

    }
    public static 
    void main (Strings []args){

    ConsoleInputManager in=new ConsoleInputManager();
    Parole uz=new Parole();
    parola1=in.readLine("inserisci: ");
    parola2=in.readLine("inserisci: ");
    System.out.println(uz.nvocparola1());



    con i seguenti errori, tutti uguali


    Codice PHP:
    javac Parole.java
    Parole
    .java:23: class, interface, or enum expected
    public static void main (Strings []args){
                  ^
    Parole.java:26: class, interface, or enum expected
    Parole uz
    =new Parole();
    ^
    Parole.java:27: class, interface, or enum expected
    parola1
    =in.readLine("inserisci: ");
    ^
    Parole.java:28: class, interface, or enum expected
    parola2
    =in.readLine("inserisci: ");
    ^
    Parole.java:29: class, interface, or enum expected
    System
    .out.println(uz.nvocparola1());
    ^
    Parole.java:30: class, interface, or enum expected
    }
    ^
    6 errors 

    salvatemi! VVoVe:

  7. #7
    Forse hai dimenticato di chiudere la parentesi graffa finale

  8. #8
    Utente di HTML.it L'avatar di ViPah
    Registrato dal
    Nov 2008
    Messaggi
    26
    non sono a quel livello :berto: :berto: :berto:

  9. #9
    Originariamente inviato da ViPah
    non sono a quel livello :berto: :berto: :berto:
    Te l'ho detto perchè nel codice che hai postato, manca

  10. #10
    Utente di HTML.it L'avatar di ViPah
    Registrato dal
    Nov 2008
    Messaggi
    26
    saresti cosi gentile da sistemarmi le parentesi e ricopiarmi il codice corretto?

    grazie

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.