Montar StringBuffer

4 respostas
david.cs20

Tenho o seguinte código abaixo a qual monta uma StringBuffer e tinha praticamente todos os campos como obrigatórios então conseguia adicioná-los corretamente. Porem agora somente o primeiro e obrigatório e tenho que finalizar a StringBuffer com um " . " ao final do jeito que esta hoje se não preencho todos ele vem com " ; " .

Preciso de modificar a logica para que independer dos campos preenchidos ele no final coloque o " . " e não a virgula.

StringBuffer strObservation = new StringBuffer();
			strObservation.append(
					String.valueOf(
							anp.getFluidTypeById().get(
									sym.getParameters().get("fluido")
									.getValue()) + ": "));
			if(!strDens.equals("")){
				strObservation.append("P=" + strDens + "; ");
			}
			if(!strVisc.equals("")){
				strObservation.append("V=" + strVisc + "; ");
			}
			if(!strFilt.equals("")){
				strObservation.append("F=" + strFilt + "; ");
			}
			if(!strOlea.equals("")){
				strObservation.append("O/A=" + strOlea + "; ");
			}
			if(!strOil.equals("")){
				strObservation.append("O=" + strOil + "%; ");
			}
			if(!strPh.equals("")){
				strObservation.append("pH=" + strPh + "; ");
			}
			if(!strSal.equals("")){
				strObservation.append("SAL=" + strSal + "ppm.");
			}

			observation.setTextContent(strObservation.toString());
			observations.appendChild(observation);

			root.appendChild(depth);
			root.appendChild(code);
			root.appendChild(observations);

			doc.appendChild(root);

4 Respostas

igor_ks

Termine todos com ponto-e-virgula e no final do seu StringBuffer, substitua o ultimo caracter por ponto

david.cs20

Como faço isso no StringBuffer ?!
Sei que se for uma String simples eu posso fazer algo do tipo

String modificada = teste.substring(0, teste.length() - 1);

Que ira funcionar agora tentei fazer isso no com o SB e não funcionou !!!

Ataxexe

Use o método setCharAt

StringBuilder builder = new StringBuilder("bla; bla; bla; bla; bla; bla;");

builder.setCharAt(builder.length() - 1, '.');

System.out.println(builder);
david.cs20

Utilizei o setCharAt e funcionou perfeitamente !!!

Valeu ! = )

Criado 20 de janeiro de 2014
Ultima resposta 21 de jan. de 2014
Respostas 4
Participantes 3