Vc pode fazer um método q chama os outros 3?
Re:Substituir 3 métodos em 1
8 Respostas
P@ul@, desculpe mas por que você quer um método que faça os 3?
Você precisa saber qual método quer executar, não?
–
Dica, se você precisa formatar um número com zeros a esquerda, utilize a classe DecimalFormat.
Exemplo de utilização:
public static void main(String[] args) throws IOException {
int x = 345;
DecimalFormat df = new DecimalFormat("000000");
System.out.println(df.format(x)); // Imprime a String: 000345
}
Blz? :thumbup:
Pra quê 1 método só?
cria 3: lpad, rpad e pad.
O próprio pad seria o genérico.
private static final int RIGHT = 0;
private static final int LEFT = 1;
public String lpad( String x, int len ) {
return pad( x, len, LEFT, ' ' );
}
public String rpad( String x, int len ) {
return pad( x, len, RIGHT, ' ' );
}
public String pad( String x, int len, int direction, char fillingChar ) {
// faz o padding...
// x = texto a ser feito o padding
// len = tamanho
// direction = LEFT ou RIGHT
// fillingChar = caracter a preencher os espaços
}
Padding é completar a String com um caracter.
Geralmente os métodos para isso são chamados de LPAD (left), RPAD (right).
public String formatString(String field, int fieldLen)
{
String ret = "";
int auxLen = 0;
if (field == null)
{
for (int i = auxLen; i < fieldLen; i++)
{
ret += " ";
}
}
else
{
auxLen = field.length();
if (auxLen < fieldLen)
{
for (int i = auxLen; i < fieldLen; i++)
{
ret += " ";
}
ret += field;
}
else
{
for (int i = 0; i < fieldLen; i++)
{
ret += field.substring(i, i + 1);
}
}
}
return ret;
}
public String formatField(String field, int fieldLen)
{
String ret = "";
int auxLen = 0;
if (field == null)
{
for (int i = auxLen; i < fieldLen; i++)
{
ret += " ";
}
}
else
{
auxLen = field.length();
if (auxLen < fieldLen)
{
ret += field;
for (int i = auxLen; i < fieldLen; i++)
{
ret += " ";
}
}
else
{
for (int i = 0; i < fieldLen; i++)
{
ret += field.substring(i, i + 1);
}
}
}
return ret;
}
public String formatNumber(String field, int fieldLen)
{
String ret = "";
int auxLen = 0;
if (field == null)
{
for (int i = auxLen; i < fieldLen; i++)
{
ret += "0";
}
}
else
{
auxLen = field.length();
if (auxLen < fieldLen)
{
for (int i = auxLen; i < fieldLen; i++)
{
ret += "0";
}
ret += field;
}
else
{
for (int i = 0; i < fieldLen; i++)
{
ret += field.substring(i, i + 1);
}
}
}
return ret;
}
Pergunta!
Quando saber q é pra colocar “” a esquerda , “” a direita e 0 a esquerda!
me fala ae q te falo como fazer.
Primeiramente estava pensando em criar constantes estáticas na classe indicando a configurção da formatação.
public static final int PREENCHIMENTO_ZEROS = 1;
public static final int SPACES_iN_LEFT = 2;
public static final int SPACES_iN_RIGHT = 3;
public String Formato()
{
String ret = "";
int auxLen = 0;
if (.....){ ..... } //nesse primeiro if, verificar o que é para colocar, se é "" à esquerda, "" à direita ou "0" à esquerda.
}
Oi rmarin…
Preciso fazer esse método que faça os 3, pois são praticamente iguais… a única diferença é que um preenche com " " à esquerda, o outro com " " à direita e o outro com “0” à esquerda.
Não tem como fazer isso??
Oxa…
Entendi metade do que você disse…
Não tem como explicar isso numa linguagem “Java para iniciantes”?
O que seria padding??