|
|||||||
|
|
|
![]() |
|
|
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: 2780
|
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:11.




















