diff --git a/ajuda/README.md b/ajuda/README.md new file mode 100644 index 0000000..04c9141 --- /dev/null +++ b/ajuda/README.md @@ -0,0 +1,2 @@ +# AEDII +Repositório de códigos da disciplina de Algoritmos e Estrutura de Dados II diff --git a/ajuda/java/Arq.java b/ajuda/java/Arq.java new file mode 100644 index 0000000..9a632d1 --- /dev/null +++ b/ajuda/java/Arq.java @@ -0,0 +1,206 @@ +import java.io.*; +import java.util.Formatter; +import java.util.Scanner; +import java.io.File; +import java.nio.charset.*; + +public class Arq +{ + private static String nomeArquivo = ""; + private static String charsetArquivo = "ISO-8859-1"; + private static boolean write = false, read = false; + private static Formatter saida = null; + private static Scanner entrada = null; + + public static boolean openWrite(String nomeArq, String charset) { + boolean resp = false; + close(); + try{ + saida = new Formatter(nomeArq, charset); + nomeArquivo = nomeArq; + resp = write = true; + } catch (Exception e) {} + return resp; + } + + public static boolean openWrite(String nomeArq) { + return openWrite(nomeArq, charsetArquivo); + } + + public static boolean openWriteClose(String nomeArq, String charset, String conteudo) { + boolean resp = openWrite(nomeArq, charset); + if(resp == true){ + println(conteudo); + close(); + } + return resp; + } + + public static boolean openWriteClose(String nomeArq, String conteudo) { + return openWriteClose(nomeArq, charsetArquivo, conteudo); + } + + public static boolean openRead(String nomeArq) { + return openRead(nomeArq, charsetArquivo); + } + + public static boolean openRead(String nomeArq, String charset) { + boolean resp = false; + close(); + try{ + entrada = new Scanner(new File(nomeArq), charset); + nomeArquivo = nomeArq; + resp = read = true; + } catch (Exception e) {} + return resp; + } + + public static String openReadClose(String nomeArq){ + openRead(nomeArq); + String resp = readAll(); + close(); + return resp; + } + + public static void close() { + if(write == true){ + saida.close(); + } + if(read == true){ + entrada.close(); + } + write = read = false; + nomeArquivo = ""; + charsetArquivo = "ISO-8859-1"; + } + + public static long length(){ + long resp = -1; + if(read != write){ + File file = new File(nomeArquivo); + resp = file.length(); + } + return resp; + } + + public static void print(int x){ + if(write == true){ + saida.format( "%d", x); + } + } + + public static void print(double x){ + if(write == true){ + saida.format( "%f", x); + } + } + + public static void print(String x){ + if(write == true){ + saida.format( "%s", x); + } + } + + public static void print(boolean x){ + if(write == true){ + saida.format( "%s", ((x) ? "true" : "false")); + } + } + + public static void print(char x){ + if(write == true){ + saida.format( "%c", x); + } + } + + public static void println(int x){ + if(write == true){ + saida.format( "%d\n", x); + } + } + + public static void println(double x){ + if(write == true){ + saida.format( "%f\n", x); + } + } + + public static void println(String x){ + if(write == true){ + saida.format( "%s\n", x); + } + } + + public static void println(boolean x){ + if(write == true){ + saida.format( "%s\n", ((x) ? "true" : "false")); + } + } + + public static void println(char x){ + if(write == true){ + saida.format( "%c\n", x); + } + } + + public static int readInt(){ + int resp = -1; + try{ + resp = entrada.nextInt(); + } catch (Exception e) {} + return resp; + } + + public static char readChar(){ + char resp = ' '; + try{ + resp = (char)entrada.nextByte(); + } catch (Exception e) {} + return resp; + } + + public static double readDouble(){ + double resp = -1; + try{ + resp = Double.parseDouble(readString().replace(",",".")); + } catch (Exception e) {} + return resp; + } + + public static String readString(){ + String resp = ""; + try{ + resp = entrada.next(); + } catch (Exception e) { System.out.println(e.getMessage()); } + return resp; + } + + public static boolean readBoolean(){ + boolean resp = false; + try{ + resp = (entrada.next().equals("true")) ? true : false; + } catch (Exception e) {} + return resp; + } + + public static String readLine(){ + String resp = ""; + try{ + resp = entrada.nextLine(); + } catch (Exception e) { System.out.println(e.getMessage()); } + return resp; + } + + + public static boolean hasNext(){ + return entrada.hasNext(); + } + + public static String readAll(){ + String resp = ""; + while(hasNext()){ + resp += (readLine() + "\n"); + } + return resp; + } +} diff --git a/ajuda/java/MyIO.java b/ajuda/java/MyIO.java new file mode 100644 index 0000000..60b984c --- /dev/null +++ b/ajuda/java/MyIO.java @@ -0,0 +1,238 @@ +import java.io.*; +import java.nio.charset.*; + +class MyIO { + + private static BufferedReader in = new BufferedReader(new InputStreamReader(System.in, Charset.forName("ISO-8859-1"))); + private static String charset = "ISO-8859-1"; + + public static void setCharset(String charset_){ + charset = charset_; + in = new BufferedReader(new InputStreamReader(System.in, Charset.forName(charset))); + } + + public static void print(){ + } + + public static void print(int x){ + try { + PrintStream out = new PrintStream(System.out, true, charset); + out.print(x); + }catch(UnsupportedEncodingException e){ System.out.println("Erro: charset invalido"); } + } + + public static void print(double x){ + try { + PrintStream out = new PrintStream(System.out, true, charset); + out.print(x); + }catch(UnsupportedEncodingException e){ System.out.println("Erro: charset invalido"); } + } + + public static void print(String x){ + try { + PrintStream out = new PrintStream(System.out, true, charset); + out.print(x); + }catch(UnsupportedEncodingException e){ System.out.println("Erro: charset invalido"); } + } + + public static void print(boolean x){ + try { + PrintStream out = new PrintStream(System.out, true, charset); + out.print(x); + }catch(UnsupportedEncodingException e){ System.out.println("Erro: charset invalido"); } + } + + public static void print(char x){ + try { + PrintStream out = new PrintStream(System.out, true, charset); + out.print(x); + }catch(UnsupportedEncodingException e){ System.out.println("Erro: charset invalido"); } + } + + public static void println(){ + } + + public static void println(int x){ + try { + PrintStream out = new PrintStream(System.out, true, charset); + out.println(x); + }catch(UnsupportedEncodingException e){ System.out.println("Erro: charset invalido"); } + } + + public static void println(double x){ + try { + PrintStream out = new PrintStream(System.out, true, charset); + out.println(x); + }catch(UnsupportedEncodingException e){ System.out.println("Erro: charset invalido"); } + } + + public static void println(String x){ + try { + PrintStream out = new PrintStream(System.out, true, charset); + out.println(x); + }catch(UnsupportedEncodingException e){ System.out.println("Erro: charset invalido"); } + } + + public static void println(boolean x){ + try { + PrintStream out = new PrintStream(System.out, true, charset); + out.println(x); + }catch(UnsupportedEncodingException e){ System.out.println("Erro: charset invalido"); } + } + + public static void println(char x){ + try { + PrintStream out = new PrintStream(System.out, true, charset); + out.println(x); + }catch(UnsupportedEncodingException e){ System.out.println("Erro: charset invalido"); } + } + + public static void printf(String formato, double x){ + try { + PrintStream out = new PrintStream(System.out, true, charset); + out.printf(formato, x);// "%.2f" + }catch(UnsupportedEncodingException e){ System.out.println("Erro: charset invalido"); } + } + + public static double readDouble(){ + double d = -1; + try{ + d = Double.parseDouble(readString().trim().replace(",",".")); + }catch(Exception e){} + return d; + } + + public static double readDouble(String str){ + try { + PrintStream out = new PrintStream(System.out, true, charset); + out.print(str); + }catch(UnsupportedEncodingException e){ System.out.println("Erro: charset invalido"); } + return readDouble(); + } + + public static float readFloat(){ + return (float) readDouble(); + } + + public static float readFloat(String str){ + return (float) readDouble(str); + } + + public static int readInt(){ + int i = -1; + try{ + i = Integer.parseInt(readString().trim()); + }catch(Exception e){} + return i; + } + + public static int readInt(String str){ + try { + PrintStream out = new PrintStream(System.out, true, charset); + out.print(str); + }catch(UnsupportedEncodingException e){ System.out.println("Erro: charset invalido"); } + return readInt(); + } + + public static String readString(){ + String s = ""; + char tmp; + try{ + do{ + tmp = (char)in.read(); + if(tmp != '\n' && tmp != ' ' && tmp != 13){ + s += tmp; + } + }while(tmp != '\n' && tmp != ' '); + }catch(IOException ioe){ + System.out.println("lerPalavra: " + ioe.getMessage()); + } + return s; + } + + public static String readString(String str){ + try { + PrintStream out = new PrintStream(System.out, true, charset); + out.print(str); + }catch(UnsupportedEncodingException e){ System.out.println("Erro: charset invalido"); } + return readString(); + } + + public static String readLine(){ + String s = ""; + char tmp; + try{ + do{ + tmp = (char)in.read(); + if(tmp != '\n' && tmp != 13){ + s += tmp; + } + }while(tmp != '\n'); + }catch(IOException ioe){ + System.out.println("lerPalavra: " + ioe.getMessage()); + } + return s; + } + + public static String readLine(String str){ + try { + PrintStream out = new PrintStream(System.out, true, charset); + out.print(str); + }catch(UnsupportedEncodingException e){ System.out.println("Erro: charset invalido"); } + return readLine(); + } + + public static char readChar(){ + char resp = ' '; + try{ + resp = (char)in.read(); + }catch(Exception e){} + return resp; + } + + public static char readChar(String str){ + try { + PrintStream out = new PrintStream(System.out, true, charset); + out.print(str); + }catch(UnsupportedEncodingException e){ System.out.println("Erro: charset invalido"); } + return readChar(); + } + + public static boolean readBoolean(){ + boolean resp = false; + String str = ""; + + try{ + str = readString(); + }catch(Exception e){} + + if(str.equals("true") || str.equals("TRUE") || str.equals("t") || str.equals("1") || + str.equals("verdadeiro") || str.equals("VERDADEIRO") || str.equals("V")){ + resp = true; + } + + return resp; + } + + public static boolean readBoolean(String str){ + try { + PrintStream out = new PrintStream(System.out, true, charset); + out.print(str); + }catch(UnsupportedEncodingException e){ System.out.println("Erro: charset invalido"); } + return readBoolean(); + } + + public static void pause(){ + try{ + in.read(); + }catch(Exception e){} + } + + public static void pause(String str){ + try { + PrintStream out = new PrintStream(System.out, true, charset); + out.print(str); + }catch(UnsupportedEncodingException e){ System.out.println("Erro: charset invalido"); } + pause(); + } +}