Tenho um campo item de 2 dígitos em meu sistema, ele irá ir de 01 a 99, depois A1, A2 e assim por diante, ou seja preciso criar uma função que recebe um item exemplo 99 e passe para A1, em vez de 100.
Alguém tem alguma ideia de como posso fazer isso em java?
Obrigado
Incrementar Caracter
5 Respostas
Tem sim amigo, basta fazer um if, verificando se o campo é maior que 99 e colocar um alerta informando quais carácteres são válidos A1,A2…
Faça um if para comparar o valor inserido,
se você quiser algo completo sugiro trabalhar com while e array.
coisa do tipo:
int[] a = new int[5];
int contador = 0;
while (contador < a.length){
// entrada e verificação da int x;.
// se positivo a[contador++];
// se não ele não vai incrementar o contador e logo voltara para a entrada do valor volta para a entrada do valor.
}
Vê se isto ajuda…
for (int i = 0;i<500;i++){
System.out.println(Integer.toString(i, 36).toUpperCase()); // 36 -> [0-9a-z]
}
Veja se rola, faça um debug para entender o código.
public static void main(String[] args) {
// TODO Auto-generated method stub
int[][] a = new int[100][100];
for (int i = 0; i < a.length; i++) {
for (int j = 0; j <= 100; j++) {
if(j != 100){
a[i][j] = j;
}else{
break;
}
}
}
Tenho um campo item de 2 dígitos em meu sistema, ele irá ir de 01 a 99, depois A1, A2 e assim por diante, ou seja preciso criar uma função que recebe um item exemplo 99 e passe para A1, em vez de 100.
Alguém tem alguma ideia de como posso fazer isso em java?
Obrigado
Queria fazer uma perguntinha. Em vez de ir de 01 a 99, e depois começar a usar as letras, é possível você usar base-36 (ou seja, você ter algo como:
00 - 01 - 02 - … 09 - 0A - 0B - 0C … 0Y - 0Z - 10 - 11 - … 19 - 1A - 1B - … - 1Z … - 99 - 9A - … 9Z - A0 - A1 - … ZZ ?
Se puder fazer isso pode usar, para representar um número x, Integer.toString (x, 36).toUpperCase(). Experimente e veja o que acontece 
EDIT - (Hum, não tinha visto que o pmlm tinha dado exatamente a mesma sugestão)