É o seguinte: eu estou tentando criar um programa em que o usuário digite as arestas de um grafo que tem conectividade e no final, esse programa gere a matriz com a representação dessas ligações entre as arestas colocando o número 1 representando essa ligação e 0 onde não tem ligação. O problema é que eu não estou conseguindo gerar um ArrayList com todos os vértices que fazem parte do grafo. Algumas vezes fica faltando um vértice.
O código até agora está assim:
package grafos;
import java.util.*;
public class Grafos {
public static void main(String[] args) {
Scanner ac = new Scanner(System.in);
ArrayList<String> lc = new ArrayList<String>( );
ArrayList<String> ld = new ArrayList<String>( );
ArrayList<String> lt = new ArrayList<String>( );
ArrayList<String> nl = new ArrayList<String>( );
ArrayList<String> m = new ArrayList<String>( );
ArrayList<String> c = new ArrayList<String>( );
ArrayList<String> d = new ArrayList<String>( );
ArrayList<String> n = new ArrayList<String>( );
ArrayList<String> t = new ArrayList<String>( );
String r;
int A = 65, Z = 90, b;
char g;
System.out.println("Insira as arestas separadas por vírgula: ");
r = ac.nextLine( );
System.out.println(" ");
for (int x = 0; x < r.length( ); x++) {
lt.add(r.toUpperCase( ).substring(x, x + 1));
if (r.contains(",")) {
lt.remove(",");
}
if (r.contains(" ")) {
lt.remove(" ");
}
}
Collections.sort(lt);
//System.out.println(lt);
for (int x = 0; x < lt.size( ); x++) {
for (int y = 0; y < lt.size( ); y++) {
if (lt.get(x).equals(lt.get(y))) {
lt.remove(lt.get(x));
System.out.println(lt);
}
}
}
System.out.println(lt);
}
}
Eu consegui escrever esse mesmo programa em Python e está funcionando perfeito, mas em Java estou apanhando. Por exemplo: em Python, pra eu transformar uma String ou um caractere em seu valor decimal dentro da tabela ASCII, basta escrever assim ord(variavel_String) e pra fazer o inverso basta escrever chr(variavel_Inteira). Tem algum meio de fazer isso em Java de uma maneira bem simples como em Python? Porque todos os exemplos que eu vi na internet e tentei colocar no código, não funcionaram. Eu usei como teste nesse código as arestas AB, AD, BA, CB, DB, DC, EF, mas sempre o vértice E fica de fora no ArrayList lt, ou seja, a saída fica assim: A, B, C, D, F. Gostaria da ajuda de vocês pra eu poder terminar esse código. Desde já agradeço.
Obs.: Esse monte de ArrayList que aparecem declarados no código ainda vão ser usados, assim que eu conseguir resolver essa parte.