Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1

    [java]stringa----->array di stringhe

    salve a tutti, sono un allievo di un corso Java...quindi non sono un esperto, devo convertire una stringa in un array di stringhe.
    Es:
    "mioNome"---->{"m","i","o","N","o","m","e"}

    esiste il metodo stpit(), ma vuole in ingresso un carattere....

    qualcuno sa aiutarmi?

    grazie

    palmiro scitti

  2. #2

    Re: [java]stringa----->array di stringhe

    Originariamente inviato da palmiro
    salve a tutti, sono un allievo di un corso Java...quindi non sono un esperto, devo convertire una stringa in un array di stringhe.
    Es:
    "mioNome"---->{"m","i","o","N","o","m","e"}

    esiste il metodo stpit(), ma vuole in ingresso un carattere....

    qualcuno sa aiutarmi?

    grazie

    Un metodo già pronto non c'è ma puoi fare così :
    codice:
     String mioNome = new String("Mio nome"); 
            char[] charArray = mioNome.toCharArray();
            String[] mioNomeArray = new String[charArray.length];
            for (int i = 0; i < charArray.length; i++) {
            	mioNomeArray[i] = new String(charArray[i] + "");
    		}
    Il centro dell'attenzione non è sempre un buon posto in cui trovarsi

    Mai discutere con uno stupido, la gente potrebbe non capire la differenza. (O. W.)

  3. #3
    testo e dico...grazie mille...
    palmiro scitti

  4. #4
    mmm...mi da problemi....posto il codice

    codice:
    import java.io.*;
    public class leggiDati {
    	public static void main(String args[]){
    		InputStreamReader in= new InputStreamReader(System.in);
    		BufferedReader tastiera =new BufferedReader(in);
    			try{
    				String n[]={"0","1","2","3","4","5","6","7","8","9"};
    				System.out.println("Inserisci il tuo Cognome");
    				String cognome=tastiera.readLine();
    				System.out.println("Inserisci i tuoi anni");
    				int anni=Integer.parseInt(tastiera.readLine());
    				System.out.println("Inserisci la tua altezza");
    				float altezza=Float.parseFloat(tastiera.readLine());
    				//String cognomeArr[]=cognome.split("");
    //
    				
    			        char[] charArray = cognome.toCharArray();
    			        String[] cognomeArray = new String[charArray.length];
    			        for (int i = 0; i < charArray.length; i++) {
    			        	cognomeArray[i] = new String(charArray[i] + "");
    					}
    				for(int i=0;i<cognomeArray.length;i++) {
    					System.out.println(i);	
    					for(int j=0;j<n.length;j++){
    						 System.out.println(i+"-"+j);
    						 System.out.println(cognomeArray[i]+"=?"+n[j]);
    					 if( cognomeArray[i]==n[j]){
    						  System.out.println("hai inserito dei numeri nel cognome");
    						 break;
    						 }
    						
    					}
    					
    					
    				}
    				System.out.println("Cognome: "+cognome+" Anni: "+anni+" Altezza: "+altezza);
    								
    			}catch(Exception E){
    				
    				System.out.println("Si na Corbe!: "+E);
    			}
    		
    	}
    }

    suppongo che cognomeArray[i]==n[j] non siano dello stesso tipo
    palmiro scitti

  5. #5
    Devi dirmi cosa hai in mente di fare e poi posta l'errore che ti da il compilatore
    Il centro dell'attenzione non è sempre un buon posto in cui trovarsi

    Mai discutere con uno stupido, la gente potrebbe non capire la differenza. (O. W.)

  6. #6
    l'intenzione è quella di controllare se nel cognome sono presenti dei numeri, l'idea è quella di fornire un array di stringhe contenente numeri
    codice:
    String n[]={"0","1","2","3","4","5","6","7","8","9"};
    poi prendere il cognome e convertirlo da stringa in array di caratteri stringa, poi ciclare e confrontare se nell'array del cognome sono presenti caratteri contenuti nell'array di "numeri", se sono presenti dei caratteri comuni mi fermo.

    il compilatore non mi da nessun errore, viene fatto tutto tranquillamente
    codice:
     
    
    if( cognomeLettera == nElemento ){
       System.out.println("hai inserito dei numeri nel cognome");
     break;
     }
    
    il ciclo viene fatto correttamente, non viene verificato l'if che ho postato...è per questo che sospetto che non siano uguali i tipi di variabili.....

    grazie
    palmiro scitti

  7. #7
    Utente di HTML.it L'avatar di anx721
    Registrato dal
    Apr 2003
    Messaggi
    2,352
    l'uguaglianza tra stringa si testa con:

    s1.equals(s2)

    non con s1 == s2

    un metodo piu semplice di impostare il programma era quello di utizzare il metodo indexOf() di String che ti restituisce l'indice in cui occorre un carattere in una stringa e -1 se tale carattere non è presente.

    Sun Certified Java Programmer

    EUCIP Core Level Certified

    European Certification of Informatics Professionals

  8. #8
    Stai facendo troppi giri inutili, o fai come sotto o come ti h aconsigliato anx721, il tuo metodo e quantomeno contorto...
    codice:
    	
    public static void main(String[] args) 
    	{
    		InputStreamReader in= new InputStreamReader(System.in);
    		BufferedReader tastiera =new BufferedReader(in);
    			try{
    				String n[]={"0","1","2","3","4","5","6","7","8","9"};
    				System.out.println("Inserisci il tuo Cognome");
    				String cognome=tastiera.readLine();
    				System.out.println("Inserisci i tuoi anni");
    				int anni=Integer.parseInt(tastiera.readLine());
    				System.out.println("Inserisci la tua altezza");
    				float altezza=Float.parseFloat(tastiera.readLine());
    				
    				if(!cognome.replaceAll("\\d","").equals(cognome))
    					System.out.println("hai inserito dei numeri nel cognome");
    				
    				System.out.println("Cognome: "+cognome+" Anni: "+anni+" Altezza: "+altezza);
    								
    			}catch(Exception E){
    				
    				System.out.println("Si na Corbe!: "+E);
    			}
    		
    	
    	}
    Il centro dell'attenzione non è sempre un buon posto in cui trovarsi

    Mai discutere con uno stupido, la gente potrebbe non capire la differenza. (O. W.)

  9. #9
    grazie a tutti..
    palmiro scitti

  10. #10
    Originariamente inviato da unomichisiada
    Stai facendo troppi giri inutili, o fai come sotto o come ti h aconsigliato anx721, il tuo metodo e quantomeno contorto...
    codice:
    	
    public static void main(String[] args) 
    	{
    		InputStreamReader in= new InputStreamReader(System.in);
    		BufferedReader tastiera =new BufferedReader(in);
    			try{
    				String n[]={"0","1","2","3","4","5","6","7","8","9"};
    				System.out.println("Inserisci il tuo Cognome");
    				String cognome=tastiera.readLine();
    				System.out.println("Inserisci i tuoi anni");
    				int anni=Integer.parseInt(tastiera.readLine());
    				System.out.println("Inserisci la tua altezza");
    				float altezza=Float.parseFloat(tastiera.readLine());
    				
    				if(!cognome.replaceAll("\\d","").equals(cognome))
    					System.out.println("hai inserito dei numeri nel cognome");
    				
    				System.out.println("Cognome: "+cognome+" Anni: "+anni+" Altezza: "+altezza);
    								
    			}catch(Exception E){
    				
    				System.out.println("Si na Corbe!: "+E);
    			}
    		
    	
    	}
    sorry se resuscito questo 3d... potreste spiegarmi questo if
    if(!cognome.replaceAll("\\d","").equals(cognome))
    che fa ?

    inoltre io avrei bisogno di escludere anche i caratteri speciali... mi servono quindi solo lettere e numeri...
    come potrei fare ?

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.