Java 将字符串更改为用户设置的值

Java 将字符串更改为用户设置的值,java,string,char,Java,String,Char,我需要帮助更改字符串(不管是什么,我一直在使用一组特定的字符,您将在下面看到)来设置数字。“技巧”是将每个字母替换为它在字母表中的位置。我们将为每个字母使用两位数字。例如,字母“a”是01,字母“b”是02,字母“c”是03,字母“z”是26。所以我们可以使用大写字母,我们以27开头“A”,以28开头“B”,以29开头“C”,以此类推 对于数字,我们将每个数字转换为两个字母:它们代表的前两个字母。第一个字母大写,后面是小写字母。例如,写出来的8等于8。因此,8将被加密为“Ei”,1将被加密为“O

我需要帮助更改字符串(不管是什么,我一直在使用一组特定的字符,您将在下面看到)来设置数字。“技巧”是将每个字母替换为它在字母表中的位置。我们将为每个字母使用两位数字。例如,字母“a”是01,字母“b”是02,字母“c”是03,字母“z”是26。所以我们可以使用大写字母,我们以27开头“A”,以28开头“B”,以29开头“C”,以此类推

对于数字,我们将每个数字转换为两个字母:它们代表的前两个字母。第一个字母大写,后面是小写字母。例如,写出来的8等于8。因此,8将被加密为“Ei”,1将被加密为“On”,2将被加密为“Tw”,3将被加密为“Th”,依此类推。请注意,“10”实际上是两个数字,因此它将被加密为“1”和“0”:“OnZe”如果您使用非字母字符(空格、标点符号、数字等),只需按原样打印它们,而无需加密

我开始使用以下代码:

public class Try{

   public static void main (String[] args){

      System.out.println("hello");
      String string = "Orange juice is great! I drank 83,214 cups of it yesterday.";
      System.out.print(string); //to see the string is appropriately done
      char exampleChar = 'a';
      int charCastAsInt = (int) exampleChar;
      System.out.print(charCastAsInt);
   }
}

我不知道如何解析字符串,忽略特殊字符和空格,同时仍在其位置打印它们,并让每个数字打印我告诉它的每个值应该是什么。我应该使用for循环吗?然后从那里继续?

我不会告诉你全部答案,因为这似乎是家庭作业。但这里有一些提示:

  • “aString”.charAt(i)
    提供给定索引处的字符
  • “aString”.length()
    提供字符串中的字符数

现在使用一些,你就完成了…

我不会告诉你全部答案,因为这似乎是家庭作业。但这里有一些提示:

  • “aString”.charAt(i)
    提供给定索引处的字符
  • “aString”.length()
    提供字符串中的字符数
现在使用一些,您就完成了…

字符串有很多方法,我建议您查看tocharray()。该方法返回char数组,通过该数组可以循环,将每个项转换为int类型并打印结果。可以这样写:

for (char c : "Some string".toCharArray()) System.out.print((int) c + " ");
输出:83 111 109 101 32 115 116 114 105 110 103

ClassString有很多方法,我建议您查看tocharray()。该方法返回char数组,通过该数组可以循环,将每个项转换为int类型并打印结果。可以这样写:

for (char c : "Some string".toCharArray()) System.out.print((int) c + " ");
输出:83 111 109 101 32 115 116 114 105 110 103

让我们开始:

  • 0
    48
  • 9
    57
  • a
    97
  • z
    122
  • A
    65
  • Z
    90
由此,我们可以使用
.tocharray()
在字符串上循环,并检查每个字符的范围:

String string = "Orange juice is great! I drank 83,214 cups of it yesterday.";
String[] numbers = {"Ze", "On", "Tw", "Th", "Fo", "Fi", "Si", "Se", "Ei", "Ni"};
String result = "";
for (char c : string.toCharArray()) {
    if (c >= 48 && c <= 57) {// range [0-9] digits
        result += numbers[c - 48];
    } else if (c >= 97 & c <= 122) {// range [a-z] lower letters
        result += String.format("%02d", (char) c - 96);
    } else if (c >= 65 & c <= 90) {// range [A-Z] upper letters
        result += c - 38;
    }else {
        result += c;
    }
}

System.out.println(result);
让我们开始:

  • 0
    48
  • 9
    57
  • a
    97
  • z
    122
  • A
    65
  • Z
    90
由此,我们可以使用
.tocharray()
在字符串上循环,并检查每个字符的范围:

String string = "Orange juice is great! I drank 83,214 cups of it yesterday.";
String[] numbers = {"Ze", "On", "Tw", "Th", "Fo", "Fi", "Si", "Se", "Ei", "Ni"};
String result = "";
for (char c : string.toCharArray()) {
    if (c >= 48 && c <= 57) {// range [0-9] digits
        result += numbers[c - 48];
    } else if (c >= 97 & c <= 122) {// range [a-z] lower letters
        result += String.format("%02d", (char) c - 96);
    } else if (c >= 65 & c <= 90) {// range [A-Z] upper letters
        result += c - 38;
    }else {
        result += c;
    }
}

System.out.println(result);