Tenho vários arquivos em várias pastas com o seguinte nome
questão n.º 2 - Parte (1)
questão n.º 2 - Parte (2)
questão n.º 2 - Parte (3)
…
Questão n.º 2 - Parte (10)
Preciso substituir o que tá depois do “-” por Primeira Parte, Segunda Parte, Terceira Parte, de acordo com o que está em (1), (2), (3). Então, ficaria assim:
questão n.º 2 - Primeira Parte
questão n.º 2 - Segunda Parte
questão n.º 2 - Terceira Parte
…
questão n.º 2 - Décima Parte
Tem um número limitado de partes?
Se sim, creio que você tenha que fazer “na unha”, um método que devolva isso.
Se não tiver, então, creio que não exista solução, afinal, como vai colocar - ducentésima nonagésima terceira?
Dá uma olhada
public class Ordinal {
public String processaOrdinal(int pos) {
switch(pos) {
case 1: return "Primeira";
case 2: return "Segunda";
case 3: return "Terceira";
case 4: return "Quarta";
case 5: return "Quinta";
case 6: return "Sexta";
case 7: return "Sétima";
case 8: return "Oitava";
case 9: return "Nona";
case 10: return "Décima";
case 20: return "Vigésima";
default: return " ";
}
}
public String verificaPosicao(int pos) {
String posicao = "";
if(20 == pos || 10 == pos) {
posicao = processaOrdinal(pos);
} else if(pos > 10){
posicao += processaOrdinal(10) + " ";
posicao += processaOrdinal(pos - 10);
} else {
posicao += processaOrdinal(pos);
}
return posicao;
}
public static void main(String[] args) {
Ordinal o = new Ordinal();
System.out.println(o.verificaPosicao(1) + " parte");
System.out.println(o.verificaPosicao(3) + " parte");
System.out.println(o.verificaPosicao(4) + " parte");
System.out.println(o.verificaPosicao(8) + " parte");
System.out.println(o.verificaPosicao(10) + " parte");
System.out.println(o.verificaPosicao(14) + " parte");
System.out.println(o.verificaPosicao(20) + " parte");
}
}