Advertisement
dantepw

Untitled

Feb 23rd, 2014
111
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.81 KB | None | 0 0
  1.  
  2. import java.util.ArrayList;
  3. import java.util.List;
  4. import javax.swing.JOptionPane;
  5.  
  6. public class Eq1grau {
  7.  
  8. static List <Integer> numeros;
  9. static List <Integer> numerosX;
  10. static List <Integer> numerosY;
  11.  
  12. public static void main (String[] args){
  13.  
  14. int i;
  15. int j = 0;
  16.  
  17. /*
  18. ETAPAS:
  19. 1. Encontrar todos os números dentro de uma string e converter para INT [COMPLETADO]
  20. 2. Adicionar tudo para um array para poder trabalhar depois [COMPLETADO]
  21. 3. Verificar se é incógnita ou não (possui X ou Y no final)
  22.  
  23.  
  24.  
  25.  
  26.  
  27. */
  28.  
  29. String s;
  30. s = JOptionPane.showInputDialog(null, "digite: ", "30x + 14y - 2 +34 = -18 + 942y - 9310034x"); //recebe equação do usuário
  31.  
  32. int limite = s.length() -1; //limite da equação do usuário
  33. numeros = new ArrayList<>(); //array contendo todos os números da string já convertidos para int
  34. numerosX = new ArrayList<>(); //array contendo todos os números da string já convertidos para int
  35. numerosY = new ArrayList<>(); //array contendo todos os números da string já convertidos para int
  36. for(i=0; i < limite; i++){
  37.  
  38. try{
  39. String Auxiliar = "";
  40. int numero = 0;
  41.  
  42. if(Character.isLetter(s.charAt(i))){ //se encontrar um caractere que for letra não faz nada :)
  43. System.out.print("");
  44. }
  45.  
  46. while(Character.isDigit(s.charAt(i + j))){ //se encontrar um número, verifica se o próximo é um número também. enquanto o
  47. //próximo for um número, permanece no while
  48.  
  49. s += " "; //adiciona espaço vazio no final da equação para não estourar o Catch
  50. Auxiliar += s.charAt(i+j); //concatena número para um String
  51. j += 1; //incrementa o J para poder ver o próximo caractere
  52.  
  53. }
  54.  
  55. int Numero = Integer.parseInt(String.valueOf(Auxiliar)); //converte string auxiliar concatenada para Int
  56.  
  57. if (s.charAt(i+j) == 'x'){ //se possuir a letra X após o número (se for uma incógnita)
  58. System.out.print(Numero + "x ~ "); //exibe na tela para teste
  59. AdicionaNumeroVetorX(Numero); //adiciona no arraylist
  60. }
  61.  
  62. else if (s.charAt(i+j) == 'y'){ //se possuir a letra Y após o número (se for uma incógnita)
  63. System.out.print(Numero + "y ~ "); //exibe na tela para teste
  64. AdicionaNumeroVetorY(Numero); //adiciona no arraylist
  65. }
  66.  
  67. else if (s.charAt(i+j) != 'y' && s.charAt(i+j) != 'x'){ //caso não seja incógnita
  68. System.out.print(Numero + " ~ "); //exibe na tela para teste
  69. AdicionaNumeroVetor(Numero); //adiciona no arraylist
  70. }
  71.  
  72.  
  73.  
  74.  
  75. }
  76.  
  77. //capturando erros
  78. catch(StringIndexOutOfBoundsException e){
  79. System.out.print("Erro, ");
  80. }
  81. catch(NumberFormatException e){
  82.  
  83. }
  84.  
  85.  
  86. } //final do for
  87. //Exibindo array de inteiros
  88. System.out.print("\n\nOs números inteiros são: ");
  89. for (int k = 0; k < numeros.size(); k++){//for para exibir tudo q está dentro do arraylist
  90. System.out.print(numeros.get(k) + ", "); //mostra todos os números
  91. }
  92.  
  93. System.out.print("\n\nOs números com X são: ");
  94. for (int k = 0; k < numerosX.size(); k++){//for para exibir tudo q está dentro do arraylist
  95. System.out.print(numerosX.get(k) + ", "); //mostra todos os números
  96. }
  97.  
  98. System.out.print("\n\nOs números com Y são: ");
  99. for (int k = 0; k < numerosY.size(); k++){//for para exibir tudo q está dentro do arraylist
  100. System.out.print(numerosY.get(k) + ", "); //mostra todos os números
  101. }
  102.  
  103.  
  104. /*
  105. int soma = numeros.get(0) + numeros.get(1);
  106. System.out.print("\nSoma: "+soma);
  107. */
  108. } //fim Main
  109.  
  110. public static void AdicionaNumeroVetor(int AdicionarNumero){ //método para adicionar números
  111. numeros.add(AdicionarNumero);
  112. }
  113.  
  114. public static void AdicionaNumeroVetorX(int AdicionarNumero){ //método para adicionar números
  115. numerosX.add(AdicionarNumero);
  116. }
  117.  
  118. public static void AdicionaNumeroVetorY(int AdicionarNumero){ //método para adicionar números
  119. numerosY.add(AdicionarNumero);
  120. }
  121.  
  122.  
  123.  
  124. } //fim classe
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement