Nesta aula estudaremos as funções para a manipulação da saída no Console. Implementaremos um código que imprime os dados de uma planilha em que as informações estão organizadas em linhas e colunas. |
COMO FORMATAR UM ARRAY
O Java não possui uma maneira para nós imprimirmos um Array de forma organizada no prompt de comando. Logo, é nossa responsabilidade tratar e manipular a maneira como os elementos serão impressos. O trabalho que aqui realizaremos, não é muito diferente daquilo que estamos estudando até agora, até porque, nós iremos montar uma sequência de caracteres e em seguida, mandaremos essa sequência de caracteres para a saída padrão do computador.
Nesse exemplo, ao invés de utilizarmos a função System.out.println(), nós iremos fazer uso da função:
System.out.printf();
A função "printf()" significa, respectivamente:
print = imprimir
f = format
Ou seja, imprima formatado. A formatação é uma forma para adicionarmos conjuntos de caracteres dentro de outro conjunto, bem como, definir a quantidade de números zeros que deve haver após a vírgula ou então, a frente do número.
--Formatando Strings no Java Muitas vezes quando manipulamos Strings (textos), temos a necessidade formatar alguns formatos de dados, como por exemplo, a quantidade de casas decimais que um número deve possuir. Se nós não informarmos quantas casas depois da vírgula desejamos, o Java irá imprimir com a quantidade de casas padrão e nem sempre os nossos sistemas deveram estar no padrão do Java.
Porém, as casas decimais são somente um exemplo, até porque, muitas são as informações que iremos desejar personalizar.
FUNÇÃO System.out.printf
Quem já teve algum contato com a linguagem de programação C ou C++ irá sentir-se familiar com a função printf e seus parâmetros. O Java, como diversas linguagens de programação, incorporaram num primeiro momento as funcionalidades que os programadores já estavam acostumados.
System.out.printf("Total: %10.2f: ", tot);
System.out.printf("% 4d", valint);
System.out.printf("%20.10s\n", valstr);
CARACTERES A SEREM SUBSTITUIDOS
d : valores inteiros (byte, short, int, long) f : números com ponto flutuante (float, double) c : caractere (caso o C seja maiúsculo, o caractere será impresso maiúsculo) s : string (Caso o S seja maiúsculo, toda a string também será)
FORMATAÇÃO DE INTEIROS
A seguir, temos uma lista com exemplos da utilização dos caracteres que serão substituídos e também, há varias formatações que podemos utilizar.
%d: imprime o número inteiro sem qualquer modificação. %6d: Se o número inteiro tiver menos do que seis dígitos, será adicionado zeros a esquerda até que a quantidade de dígitos seja igual a 6. % .2d: Neste caso estamos forçando a quantidade de dígitos que o valor terá.
package com.javacodegeeks.core.string;
public class StringFromatExample {
public static void main(String[] args) {
System.out.printf("%-12s%-12s%s\n","Coluna 1","Coluna 2","Coluna 3");
System.out.printf("%-12d%-12d%07d\n",15,12,5);
}
}
FORMATAÇÃO DE NÚMERO COM PONTO FLUTUANTE - double e float
%f: imprime o número bruto %15f: imprime o número bruto. Caso o mesmo tenha menos do que 15 casas decimais, sera preenchido com zeros a direita até que o a quantidade de dígitos seja igual a 15. % .8f: Restringe a quantidade de caracteres em 8 dígitos. % 9.4f: imprimirá no máximo 4 casas decimais, enquanto que a base, caso não tenha 9 dígitos, será colocado zeros a esquerda até que seja igual a 9.
package com.javacodegeeks.core.string;
public class StringFromatExample {
public static void main(String[] args) {
System.out.printf("%-12s%-12s\n","Column 1","Column 2");
System.out.printf("%-12.5f%.20f", 12.23429837482,9.10212023134);
}
}
EXEMPLO FEITO EM AULA
public class Aula0045 {
public static void main(String[] args) {
int[] array;//declaração do nosso array
array = new int[10]; //cria e reserva o espaço para o nosso array
System.out.printf("%s%10s\n", " _______", " ________ ");
System.out.printf("%s%10s\n", "|Indice " ,"| Valores|");
System.out.printf("%s%10s\n", "|---", "||");
for ( int i = 0; i <= 9; i++ ) {
System.out.printf("|%5d%3s%7d |\n", i, " |", array[i]);
}
System.out.printf("%s%10s\n", "|---", "||");
}
}
Tags curso, java
Comentários
comments powered by Disqus