Java 将字符串更改为用户设置的值
我需要帮助更改字符串(不管是什么,我一直在使用一组特定的字符,您将在下面看到)来设置数字。“技巧”是将每个字母替换为它在字母表中的位置。我们将为每个字母使用两位数字。例如,字母“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”如果您使用非字母字符(空格、标点符号、数字等),只需按原样打印它们,而无需加密 我开始使用以下代码: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
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()
for (char c : "Some string".toCharArray()) System.out.print((int) c + " ");
输出:83 111 109 101 32 115 116 114 105 110 103ClassString有很多方法,我建议您查看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);