Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    [JAVA] Metodi e Costruttori dubbi

    Ciao a tutti, sto studiando Java da poco..2/3 giorni ed ho provato a fare il mio primo programmino (stupido) per vedere se ho appreso qualcosa. Il programma funziona ma ho il dubbio di non aver capito quando e come usare i costruttori ed i metodi =| ... cioè teoricamente lo so, ma praticamente non lo so


    Questo è il programmino che ho sviluppato, in pratica faccio inserire una parola e stampo a video i caratteri successivi della parola inserita

    codice:
    import java.io.*;
    
    public class stringa {
    	
    	
    	//costruttore oggetto
    	public stringa (String testo){
    		//recupero le lettere della parola inserita
    		char [] lettere= new char[testo.length()];
    		//creo l'array con le lettere successive
    		char [] lettere2= new char[testo.length()];
    		
    		for (int i=0; i<lettere.length; i++){
    			lettere[i] = testo.charAt(i);
    			lettere2[i] = (char)(lettere[i]+1);
    			System.out.print(lettere[i]+"\t"+lettere2[i]);
    			System.out.println("");
    		}
    	}
    	
    	
    	public static void main(String[] args) {
    	//chiedo di scrivere una stringa
    		System.out.println("Inserisci una parola ('end' per terminare)");
    		//faccio inserire il testo
    		InputStreamReader a = new InputStreamReader(System.in);
    		//salvo il testo digitato in un buffer
    		BufferedReader in=new BufferedReader(a);
    		//creo la stringa in cui salverò il testo
    		String s = new String();
    		
    		//creo un ciclo che permetta di inserire caratteri finchè non si digita end
    		while (s.compareTo("end")!=0){
    			
    				//con il metodo try / catch converto il testo digitato da tastiera in testo
    				try{
    					s=in.readLine(); //legge il contenuto inserito da tastiera e lo salva in stringa
    					if (s.compareTo("end")!=0) {
    						stringa e=new stringa(s);
    					}
    				}
    				catch(IOException e){
    					System.out.println("Devi inserire una parola");
    					break;
    				}
    		}
    	}
    }

    le mie domande sono 2:

    1. il costruttore stringa è corretto? sarebbe stato più corretto usare un metodo? se si come?

    2. se avessi voluto far terminare il programma alla pressione di [INVIO] invece che con la parola 'end' come avrei dovuto fare? ci ho provato ma non riesco a farlo..ho trovato in giro un esempio che sfruttava il package Scanner..ma non riesco ad adattarlo
    http://igr4mbo.altervista.org (piano piano)

    "Abbiamo costruito un sistema che ci persuade a spendere il denaro che non abbiamo in cose che non necessitiamo per creare impressioni che non dureranno su persone che non ci interessano" cit.

  2. #2
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    se me lo consenti, ti darei un consiglio spassionato: tu non stai imparando a programmare in java, stai provando a scrivere "robe" in java. Fermati finché sei in tempo (anche perché il forum è tutto fuorché una scuola di programmazione), e prenditi un buon libro o leggiti una guida e prova a fare le cose passo passo. Il mio primo programma in Java è stato HelloWorld, di sicuro non c'era input da gestire etc etc.

    C'è una guida in italiano anche qui su html.it
    http://www.html.it/guide/guida-java/

    oppure sceglitene una di tu piacimento, ma non andare a tentoni perché fra cinque minuti sarai di nuovo qui sul forum a chiedere che sono le interfacce, o a che serve static, o protected etc etc.
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

  3. #3
    http://www.html.it/guide/guida-java/ è la guida che sto seguendo ed al capitolo 11 (quello che introduce il package java.lang e che nell'esempio importa il java.io.* ) c'è un esempio con input da gestire.. si non è l'HelloWorld ma il 3° o 4° esempio completo della guida

    l'esercizio lo sto prendendo da qua http://it.wikibooks.org/wiki/Java/Esercizi ..se guardi nella sezione "Facili" es n° 1

    è indicato quello che stavo facendo

    ..
    ok riparto dall'HelloWorld ma mi dici come eseguire
    codice:
    class CiaoMondo
    {
      public static void main(String[] args)
      {
        System.out.print ("Ciao mondo, sono il primo programma in Java ");
        System.out.println ("di " + args[0] + " " + args[1]);
      }
    }
    usando eclipse senza la possibilità di input?

    la guida dice
    compila: java CiaoMondo.java
    esegui: java CiaoMondo TUONOME TUOCONGNOME <- ma in eclipse come faccio?

    grazie
    http://igr4mbo.altervista.org (piano piano)

    "Abbiamo costruito un sistema che ci persuade a spendere il denaro che non abbiamo in cose che non necessitiamo per creare impressioni che non dureranno su persone che non ci interessano" cit.

  4. #4
    Originariamente inviato da Andrea1979
    se me lo consenti, ti darei un consiglio spassionato: tu non stai imparando a programmare in java, stai provando a scrivere "robe" in java. Fermati finché sei in tempo (anche perché il forum è tutto fuorché una scuola di programmazione), e prenditi un buon libro o leggiti una guida e prova a fare le cose passo passo. Il mio primo programma in Java è stato HelloWorld, di sicuro non c'era input da gestire etc etc.

    C'è una guida in italiano anche qui su html.it
    http://www.html.it/guide/guida-java/

    oppure sceglitene una di tu piacimento, ma non andare a tentoni perché fra cinque minuti sarai di nuovo qui sul forum a chiedere che sono le interfacce, o a che serve static, o protected etc etc.

    Volevo ringraziarti per questo consiglio che ho deciso di seguire

    Per prova e vedere se davvero sono migliorato da questo primo programmino ho deciso di rifarlo .. e pare che il risultato sia molto migliore e tutto sia molto più chiaro.

    (PS Ho mantenuto l'input da tastiera .... ma ora mi è un po' più chiaro )

    codice:
    public class Testo {
    	private String testo;
    	
    	public void setTesto(String aTesto){
    		testo=aTesto;
    	}
    	public String getTesto(){
    		return testo;
    	}
    	
    	public String ModificaTesto(){
    		char [] arrayTesto=testo.toCharArray();
    		String txtMod=new String("");
    		for (int i=0; i<testo.length(); i++){
    			txtMod=txtMod+(char)(arrayTesto[i]+1);
    		}
    		return txtMod;
    	}
    }
    
    
    
    import java.util.Scanner;
    public class Principale {
    	public static void main(String[] args) {
    		Scanner input=new Scanner(System.in);
    		Testo txt=new Testo();
    		System.out.println("Inserisci il testo da modificare");
    		txt.setTesto(input.next());
    		System.out.println("Il testo inserito è: "+txt.getTesto());
    		System.out.println("Il testo modificato diventa: "+txt.ModificaTesto());
    	}
    
    }

    Per chi si trovasse a passare di qua magari per i miei stessi vecchi dubbi consiglio di cercare altre guide su internet, perchè questa di html.it non è molto chiara per chi deve iniziare
    http://igr4mbo.altervista.org (piano piano)

    "Abbiamo costruito un sistema che ci persuade a spendere il denaro che non abbiamo in cose che non necessitiamo per creare impressioni che non dureranno su persone che non ci interessano" cit.

  5. #5
    Utente di HTML.it L'avatar di Alex'87
    Registrato dal
    Aug 2001
    residenza
    Verona
    Messaggi
    5,802
    Originariamente inviato da Grambo
    usando eclipse senza la possibilità di input?

    la guida dice
    compila: java CiaoMondo.java
    esegui: java CiaoMondo TUONOME TUOCONGNOME <- ma in eclipse come faccio?

    grazie
    Run -> Run Configurations -> (scegli da sinistra la configurazione che usi per lanciare il tuo programma) -> Arguments e nella casella "Program arguments" scrivi quello che vuoi passare al main...
    SpringSource Certified Spring Professional | Pivotal Certified Enterprise Integration Specialist
    Di questo libro e degli altri (blog personale di recensioni libri) | ​NO M.P. TECNICI

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.