Skip to content

Instantly share code, notes, and snippets.

@folivetti
Created April 10, 2017 13:29
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
Star You must be signed in to star a gist
Save folivetti/fa2eb7dd73e5ca3b8f897e148d04d11b to your computer and use it in GitHub Desktop.
class Main {
public static boolean iguais(String s1, String s2) {
if (s1.length() != s2.length()) return false;
for (int i=0;i<s1.length();i++) {
if (s1.charAt(i) != s2.charAt(i)) return false;
}
return true;
}
public static int vogais(String s1) {
int quantas = 0;
s1 = s1.toUpperCase();
for (int i = 0; i < s1.length(); i++) {
char c = s1.charAt(i);
if (c == 'A' || c == 'E' || c == 'I' || c == 'O' || c == 'U') {
quantas++;
}
}
return quantas;
}
public static int consoantes(String s1) {
int quantas = 0;
s1 = s1.toUpperCase();
for (int i = 0; i < s1.length(); i++) {
char c = s1.charAt(i);
if ((c >= 'A' && c <= 'Z') && !(c == 'A' || c == 'E' || c == 'I' || c == 'O' || c == 'U')) {
quantas++;
}
}
return quantas;
}
public static String removeNaoAlfa(String s1) {
char [] s1char = new char [s1.length()];
int j = 0;
for (int i = 0; i<s1.length(); i++) {
char c = s1.charAt(i);
if ( (c >= 'A' && c <= 'Z') || (c >= 'a' && c <= 'z') ) {
s1char[j] = c;
j++;
}
}
return new String(s1char);
}
public static String concatena(String s1, String s2) {
char [] s3 = new char [s1.length() + s2.length()];
for (int i = 0; i<s1.length(); i++) {
s3[i] = s1.charAt(i);
}
for (int i = 0; i<s2.length(); i++) {
s3[i + s1.length()] = s2.charAt(i);
}
return new String(s3);
}
public static char maisFrequente(String s1) {
int [] freq = new int [26];
s1 = s1.toUpperCase();
/* Conta quantas vezes cada letra aparece */
for (int i=0; i<s1.length();i++) {
char c = s1.charAt(i);
freq[c - 'A'] += 1;
}
/* Verifica posicao de maior valor */
int pos = 0;
for (int i=1; i<26; i++) {
if (freq[i] > freq[pos]) {
pos = i;
}
}
return (char) (pos + 'A');
}
public static int quantasPalavras(String s1) {
int quantas = 0;
int i = 0;
/* pula o espaço inicial */
while ((i<s1.length()) && (s1.charAt(i) == ' ')) i++;
while (i<s1.length()) {
quantas += 1;
/* vai até o fim da palavra */
while ((i<s1.length()) && (s1.charAt(i) != ' ')) i++;
/* procura o começo da próxima */
while ((i<s1.length()) && (s1.charAt(i) == ' ')) i++;
}
return quantas;
}
public static String maiorPalavra(String s1) {
String maior = ""; /* menor palavra possível */
int i = 0;
/* pula o espaço inicial */
while ((i<s1.length()) && (s1.charAt(i) == ' ')) i++;
while (i<s1.length()) {
int comeco = i;
int fim = i;
/* vai até o fim da palavra */
while ((i<s1.length()) && (s1.charAt(i) != ' ')) i++;
fim = i;
if ( (fim-comeco) > maior.length() ) {
maior = s1.substring(comeco, fim);
}
/* procura o começo da próxima */
while ((i<s1.length()) && (s1.charAt(i) == ' ')) i++;
}
return maior;
}
public static String menorPalavra(String s1) {
String menor = s1; /* maior palavra possível */
int i = 0;
/* pula o espaço inicial */
while ((i<s1.length()) && (s1.charAt(i) == ' ')) i++;
while (i<s1.length()) {
int comeco = i;
int fim = i;
/* vai até o fim da palavra */
while ((i<s1.length()) && (s1.charAt(i) != ' ')) i++;
fim = i;
if ( (fim-comeco) < menor.length() ) {
menor = s1.substring(comeco, fim);
}
/* procura o começo da próxima */
while ((i<s1.length()) && (s1.charAt(i) == ' ')) i++;
}
return menor;
}
/* verifica se s2 é igual ao trecho i até i+s2.length de s1 */
public static boolean encontrou(String s1, String s2, int i) {
for (int j=0;j<s2.length();j++) {
if (s1.charAt(i+j) != s2.charAt(j)) return false;
}
return true;
}
public static boolean substring(String s1, String s2) {
if (s2.length() > s1.length()) return false; // a substring deve ser menor
for (int i=0; i<s1.length()-s2.length();i++) {
if ( encontrou(s1, s2, i) ) return true;
}
return false;
}
public static int bin2dec(String bin) {
int dec = 0;
for (int i = 0; i<bin.length(); i++) {
if (bin.charAt(i)=='1') {
dec += (int) Math.pow(2, bin.length()-1-i);
}
}
return dec;
}
public static boolean ehPalindrome(String s) {
for( int i=0; i<s.length()/2; i++ ) {
if( s.charAt(i) != s.charAt(s.length()-i-1) ){
return false;
}
}
return true;
}
public static String inverte(String s) {
char [] s2char = s.toCharArray();
for (int i=0; i<s2char.length/2; i++) {
char tmp = s2char[i];
s2char[i] = s2char[s.length()-i-1];
s2char[s.length()-i-1] = tmp;
}
return new String(s2char);
}
public static int [] frequencia(String s1) {
int [] freq = new int [26];
s1 = s1.toUpperCase();
/* Conta quantas vezes cada letra aparece */
for (int i=0; i<s1.length();i++) {
char c = s1.charAt(i);
freq[c - 'A'] += 1;
}
return freq;
}
public static boolean pangran(String s) {
int [] freq = frequencia(s);
for (int i=0; i<26;i++) {
if (freq[i]==0) return false;
}
return true;
}
public static String cifra(String s) {
char [] schar = s.toUpperCase().toCharArray();
for (int i = 0; i<schar.length; i++) {
switch(schar[i]) {
case 'A': schar[i]='4'; break;
case 'C': schar[i]='('; break;
case 'E': schar[i]='&'; break;
case 'G': schar[i]='6'; break;
case 'H': schar[i]='#'; break;
case 'I': schar[i]='!'; break;
case 'O': schar[i]='0'; break;
case 'S': schar[i]='$'; break;
case 'T': schar[i]='7'; break;
case 'X': schar[i]='%'; break;
}
}
return new String(schar);
}
public static String cifraCesar(String s, int n) {
char [] schar = s.toUpperCase().toCharArray();
for (int i = 0; i<schar.length; i++) {
schar[i] = (char) ((schar[i] + n) % 256);
}
return new String(schar);
}
public static void main(String[] args) {
System.out.println(iguais("ola", "ola"));
System.out.println(vogais("ola mundo"));
System.out.println(consoantes("ola mundo b"));
System.out.println(removeNaoAlfa("a34^b!c''"));
System.out.println(concatena("ola ","mundo"));
System.out.println(maisFrequente("abdajaBaDeA"));
System.out.println(quantasPalavras(" abda j aBaDeA "));
System.out.println(maiorPalavra(" abda abgeqwddafa j aBaDeA "));
System.out.println(menorPalavra(" abda abgeqwddafa j aBaDeA "));
System.out.println(substring("é bolacha ou biscoito?", "bolaxa"));
System.out.println( bin2dec("1010") );
System.out.println( ehPalindrome("arara") );
System.out.println( inverte("amor") );
System.out.println( pangran("abc") );
System.out.println( pangran("abcdefghijklmnopqrstuvwxyz") );
System.out.println( cifra("abacate") );
String s = "a prova estara dificil, cuidado para nao zerar";
String s2 = cifraCesar(s, 2);
System.out.println(s2);
System.out.println(cifraCesar(s2, -2));
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment