|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Senior Member
Iscritto dal: Jul 2006
Messaggi: 8152
|
[J2ME (ma anche JAVA)] Separare consonanti e vocali da una stringa.
L'esercizietto è facilissimo, io gli do in pasto una stringa tramite una textfield e questa classe dovrebbe tirarmi fuori una stringa che concateni consonanti e vocali separatamente. Purtroppo non funziona, arriva fino al confronto e qua mi fallisce miseramente, restituendomi un simpaticissimo Java.Lang.NullPointerException.
Qualcuno riesce a risalire all'arcano? Ho provato di tutto, ho letto di tutto, ma non ho trovato nulla che mi aiutasse. A me sembra tutto corretto e terribilmente logico, ma c'è qualcosa che non mi torna. Potete darmi una mano? Codice:
public String calcolaNome(String stringa) { String consonanti = null; String vocali = null; String temp = null; int lunghezza; lunghezza = stringa.length(); System.out.println("LUNGHEZZA: " + lunghezza); System.out.println("STRINGA: " + stringa); for(int i = 0; i < lunghezza; i++) { System.out.println("CARATTERE: " + stringa.substring(i, i+1)); temp = stringa.substring(i, i+1); System.out.println("TEMP: " + temp); //FINO A QUA GIRA, POI NULLPOINTER EXCEPTION if (isVocale(temp) == true) { System.out.println("VOCALI: " + vocali); vocali.concat(temp); } else { consonanti.concat(temp); System.out.println("CONSONANTI: " + consonanti); } } return consonanti.concat(vocali); } public boolean isVocale(String stringa) { if (stringa.equals("a") == true) { return true; } else { return false; } } ![]() |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Jul 2006
Messaggi: 8152
|
Uhm... sembra che il problema sia nell'impossibilità di usare concat tra stringhe
![]() Cioè se io faccio stringa.concat(stringa2) con stringa = "mario" e stringa2 = "franco" non funziona dandomi NullPointerException, mentre se faccio stringa += stringa2 ottengo "mariofranco". Non dovrebbe funzionare in entrambi i metodi? |
![]() |
![]() |
![]() |
#3 | |
Senior Member
Iscritto dal: Nov 2005
Messaggi: 2773
|
Ciao, non è proprio così: gli oggetti String sono immutabili, questo significa che se fai
Codice:
String a="A" String b="B" a.concat(b); Codice:
a=a.concat(b); Codice:
a+=b; Codice:
public class Prova{ public static void main(String[] args){ String stringa="mario",stringa2="franco"; stringa.concat(stringa2); } } Quote:
|
|
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 13:56.