fork download
  1. import java.util.Scanner;
  2. import java.util.Random;
  3. public class Vetor {
  4. public static Scanner ler;
  5. static long tinq;
  6. static long tfiq;
  7. public static void main(String[] args) {
  8. int op1, op, i;
  9.  
  10. // instanciando o método Scanner para leitura de dados digitados pelo usuário
  11. ler = new Scanner(System.in);
  12.  
  13. //instanciando objeto para geração de números aleatórios
  14. Random n = new Random();
  15.  
  16. //Instanciando o objeto Ordenações
  17. Ordenações ord1 = new Ordenações();
  18. Ordenações ord2 = new Ordenações();
  19. Ordenações ord3 = new Ordenações();
  20.  
  21. //v vai receber o numero que irá ser o tamanho do vetor
  22. int v, ret;
  23. do{
  24. //Menu de entrada
  25. System.out.println("1 - Ler arquivo externo?");
  26. System.out.println("2 - Preencher vetor?");
  27. op1 = ler.nextInt();
  28. switch(op1){
  29. case 1:
  30. //instaciando a classe Reader para onde está os comandos para leitura de arquivos externo.
  31. Reader ae = new Reader();
  32. // método Leitura sendo chamado na Main
  33. ae.leitura();
  34. break;
  35.  
  36. case 2:
  37. //Usuário vai definir o tamanho do vetor, onde v vai receber o que o usuário irá atribuir
  38. System.out.println("Digite o números de casas no vetor que deseja?");
  39. v = ler.nextInt();
  40. int vetor[] = new int[v];
  41.  
  42. //menu de pré-introdução de dados para o vetor
  43. System.out.println("1 - Deseja digitar os números para Ordenar?");
  44. System.out.println("2 - Deseja que o números sejam gerados para Ordenação?");
  45. op = ler.nextInt();
  46. switch(op){
  47. case 1:
  48. for (i = 0; i < vetor.length; i++) {
  49. System.out.print("Digite o " + (i + 1) + "º valor = ");
  50. vetor[i] = ler.nextInt();
  51. }
  52.  
  53. ord1.bubblesort(vetor);
  54.  
  55. ord2.apresentaQuick(vetor);
  56.  
  57. ord3.Cocktail(vetor);
  58.  
  59. break;
  60. case 2:
  61. for (i = 0; i < vetor.length; i++) {
  62. vetor[i] = n.nextInt();
  63. }
  64. ord1.bubblesort(vetor);
  65.  
  66. ord2.apresentaQuick(vetor);
  67.  
  68. ord3.Cocktail(vetor);
  69.  
  70. break;
  71. default:
  72. System.out.print("Opção inexistente");
  73. break;
  74. }
  75. break;
  76. }
  77. System.out.println("Retornar ao Menu inicial");
  78. ret = ler.nextInt();
  79. }
  80. while(ret == 1);
  81. }
  82.  
  83.  
  84. }
  85. // Classe Ordenações
  86.  
  87. public class Ordenações {
  88. long tinicio, tfim;
  89. public void bubblesort(int vet[]){
  90. //teste para ver se o vetor recebido está desordenado.
  91. for(int i = 0; i < vet.length; i++){
  92. System.out.print(vet[i] + " ");
  93. }
  94. int tam = vet.length;
  95.  
  96. int i, j, aux;
  97. tinicio = System.nanoTime();
  98. for(i = 0; i < (tam - 1); i++){
  99.  
  100. for(j = 1; j < tam; j++){
  101.  
  102. if(vet[j] < vet[j - 1]){
  103.  
  104. aux = vet[j];
  105.  
  106. vet[j] = vet[j - 1];
  107.  
  108. vet[j - 1] = aux;
  109. }
  110.  
  111. }
  112.  
  113. }
  114. tfim = System.nanoTime();
  115. // 1 milisegundo é 1000000 nanosegundos
  116. System.out.println("Tempo = " + ((tfim - tinicio) / 1000000.0) + " ms");
  117.  
  118. for(i = 0; i < vet.length; i++){
  119. System.out.print(vet[i] + " ");
  120. }
  121. System.out.println("\n");
  122. }
  123. //criação de um método que apresente o Quick, pois com as Recursões dentro do Quicksort o apresentação iria se repetir várias vezes
  124. public void apresentaQuick(int vet[]){
  125. //teste para ver se o vetor recebido está desordenado.
  126. for(int i = 0; i < vet.length; i++){
  127. System.out.print(vet[i] + " ");
  128. }
  129.  
  130. tinicio = System.nanoTime();
  131. Quicksort(vet, 0, vet.length - 1);
  132. tfim = System.nanoTime();
  133. System.out.println("Tempo = " + ((tfim - tinicio) / 1000000.0) + " ms ");
  134.  
  135. for(int i = 0; i < vet.length; i++){
  136. System.out.print(vet[i] + " ");
  137. }
  138.  
  139. System.out.println("\n");
  140. }
  141.  
  142. public void Quicksort(int v[], int esq, int dir){
  143. int pivo;
  144. if(esq < dir){
  145. pivo = Separar(v, esq, dir);
  146. Quicksort(v, esq, pivo - 1);
  147. Quicksort(v, pivo + 1, dir);
  148. }
  149. }
  150.  
  151. public static int Separar(int vet[], int esq, int dir){
  152. int c = vet[esq], i = esq + 1, j = dir, troca;
  153. while(i <= j){
  154. if(vet[i] <= c)
  155. i++;
  156. else if(c < vet[j])
  157. j--;
  158. else{
  159. troca = vet[i];
  160. vet[i] = vet[j];
  161. vet[j] = troca;
  162. }
  163. }
  164. i = j + 1;
  165. vet[esq] = vet[j];
  166. vet[j] = c;
  167. return j;
  168. }
  169.  
  170. public void Cocktail(int vetor[]){
  171. tinicio = System.nanoTime();
  172. int esq = 0, dir = vetor.length - 1, cond = 0, troca, i;
  173. while(cond == 0 && esq < dir){
  174. cond++;
  175. for(i = esq; i < dir; i++){
  176. if(vetor[i] > vetor[i + 1]){
  177. troca = vetor[i];
  178. vetor[i] = vetor[i + 1];
  179. vetor[i + 1] = troca;
  180. cond = 0;
  181. }
  182. }
  183. dir = dir - 1;
  184. for(i = dir; i > esq; i--){
  185. if(vetor[i] < vetor[i - 1]){
  186. troca = vetor[i];
  187. vetor[i] = vetor[i - 1];
  188. vetor[i - 1] = troca;
  189. cond = 0;
  190. }
  191. }
  192. esq = esq + 1;
  193. }
  194. tfim = System.nanoTime();
  195. System.out.println("Tempo = " + ((tfim - tinicio) / 1000000.0) + " ms");
  196.  
  197. for(i = 0; i < vetor.length; i++){
  198. System.out.print(vetor[i] + " ");
  199. }
  200. }
  201.  
  202. }
  203.  
  204. //classe Reader
  205. import java.nio.file.Files;
  206. //biblioteca de manipulação de arquivos (Path e Paths)
  207. import java.nio.file.Path;
  208. import java.nio.file.Paths;
  209. public class Reader {
  210.  
  211. public void leitura() {
  212. // TODO Auto-generated method stub
  213. // Objeto Path armazena na variável "pasta", todo o caminho hierárquico que a fora especificado na Paths.
  214. Path pasta = Paths.get("C:/Users/WRJ/Documents/arq.txt");
  215. // condição caso o caminho esteja errado.
  216. try{
  217. //"File.readAllBytes irá ler o arquivo especifica na Path Pasta, onde se encontra o caminho especificado. E irá retornar um Array de bite, onde estará o texto
  218. byte[] text = Files.readAllBytes(pasta);
  219. String ler = new String(text);
  220. //para interpretação do arquivo armazenado no Array "text" é necessário uma String, que fora instanciada para a String "ler" interpretar o que contém na "text"
  221.  
  222. System.out.println(ler);
  223. //imprimir ler.
  224. }
  225. catch(Exception erro){
  226. }
  227. }
  228. }
Compilation error #stdin compilation error #stdout 0s 0KB
stdin
Standard input is empty
compilation info
Main.java:85: error: illegal character: '\u2003'
?
^
Main.java:205: error: illegal character: '\u2003'
?
^
Main.java:207: error: class, interface, or enum expected
import java.nio.file.Files;
       ^
Main.java:209: error: class, interface, or enum expected
import java.nio.file.Path;
^
Main.java:210: error: class, interface, or enum expected
import java.nio.file.Paths;
^
5 errors
stdout
Standard output is empty