public static void main(String[] args) {
    int b, c;
    String a;
    boolean check = false;

    out.print("Insira um número que não esteja em base decimal: ");
    a = sc.next();

    out.print("\nAgora insira a base em que o número se encontra (entre 2 e 10): ");
    b = sc.nextInt();

    for (int i = 0; i < a.length(); i++) {
      if (Character.getNumericValue(a.charAt(i)) >= b) check = true;
    }

    while (b < 2 || b > 10 || check) {
      out.print("\nEntrada inválida.");
      out.print("\nInsira um número que não esteja em base decimal: ");
      a = sc.next();

      out.print("\nAgora insira a base em que o número se encontra (entre 2 e 10): ");
      b = sc.nextInt();

      for (int i = 0; i < a.length(); i++) {
        if (Character.getNumericValue(a.charAt(i)) >= b) check = true;
        else check = false;
      }
    }
    c = basetoNum(a, b);
    out.print("\nO seu número em base decimal é " + c + ".");
  }
  public static int basetoNum(String a, int b) {
    int c = 0;
    int i = 0;

    for (int j = a.length() - 1; j >= 0; j--) {
      c += ((Character.getNumericValue(a.charAt(j))) * (Math.pow(b, i)));
      i++;
    }

    return c;
  }
Пример #3
0
  public static String firstReaptingCharacter(String s) {
    HashMap map = new HashMap<Character, Boolean>();

    for (int i = 0; i < s.length(); i++) {
      char cur = s.charAt(i);
      if (map.containsKey(cur)) {
        if ((Boolean) map.get(cur) == false) map.put(cur, true);
      } else {
        map.put(cur, false);
      }
    }

    Iterator it = map.entrySet().iterator();
    String re = null;
    while (it.hasNext()) {
      Map.Entry pair = (Map.Entry) it.next();
      re = Character.toString((Character) pair.getKey());
    }

    return re;
  }
  public static void checkLetter(String a) {
    char[] check = new char[a.length()];
    int k = 0;
    boolean c = false;

    for (int i = 0; i < a.length(); i++) {

      if (Character.isWhitespace(a.charAt(i))) i++;

      for (int j = 0; j < a.length(); j++) {
        if (a.charAt(i) == check[j]) c = true;
      }

      if (c == false) {
        check[k] = a.charAt(i);
        k++;
      }
      c = false;
    }
    for (int z = 0; z < check.length; z++) {
      out.print(check[z]);
    }
  }
Пример #5
0
  public static String reverseWords(String s) {

    StringBuilder builder = new StringBuilder();

    // edge case
    if (s == null) return null;
    if (s.length() == 0) return "";

    int strLength = s.length();

    // left edge
    int leftEdge = -1;
    for (int i = 0; i < strLength; i++) {
      if (s.charAt(i) != ' ') {
        leftEdge = i;
        break;
      }
    }

    if (leftEdge == -1) return "";

    // right edge
    int rightEdge = -1;
    for (int j = s.length() - 1; j >= 0; j--) {
      if (s.charAt(j) != ' ') {
        rightEdge = j;
        break;
      }
    }

    if (rightEdge == leftEdge) return Character.toString(s.charAt(leftEdge));

    int wordStart = rightEdge;
    int wordEnd = 0;
    for (int k = rightEdge - 1; k >= leftEdge; k--) {

      char c = s.charAt(k);

      if (c != ' ') {
        if (s.charAt(k + 1) == ' ') {
          wordStart = k;
        }
      } else {
        if (s.charAt(k + 1) != ' ') {
          wordEnd = k + 1;

          for (int m = wordEnd; m <= wordStart; m++) {
            builder.append(s.charAt(m));
          }

          builder.append(' ');
        }
      }
    }

    for (int n = leftEdge; n <= wordStart; n++) {
      builder.append(s.charAt(n));
    }

    return builder.toString();
  }