实际上,对于不完整的代码,我感到抱歉,我想这也许更好。.我想要的是算法完成后,我希望能够打印出数字输出并将数字输出转换为字母。可能就像密码
public static void main(String args[])
{
Scanner scanner = new Scanner(System.in);
String ct;
String k;
int sum = 0;
System.out.print("Enter Text: ");
ct = scanner.nextLine();
int arr1[] = new int[ct.length()];
for(int j = 0; j < ct.length(); j++)
{
arr1[j] += ( (int)ct.charAt(j) - 97);
System.out.println("Value of Text at["+j+"]: "+arr1[j]);
}
//user input key
System.out.print("Enter random word: ");
k = scanner.nextLine();
for(int i = 0; i < k.length(); i++)
{
System.out.println( (int)k.charAt(i) - 97 );
sum = sum + ( +(int)k.charAt(i) - 97 );
}
System.out.println("Sum of all letter in the random word: "+sum);
for(int i = 0; i < ct.length(); i++)
{
System.out.print(arr1[i]+ " ");
arr1[i] += sum;
if(arr1[i] > 25)
{
arr1[i] -= 25;
if(arr1[i] > 25)
{
arr1[i] -= 25;
}
}
}
System.out.println();
for(int i = 0; i < ct.length(); i++)
{
System.out.print(arr1[i]+ " ");
}
}
输出
Enter Text: kind
Value of Text at[0]: 10
Value of Text at[1]: 8
Value of Text at[2]: 13
Value of Text at[3]: 3
Enter random word: evil
4
21
8
11
Sum of all letter in the random word: 44
10 8 13 3
4 2 7 22
答案 0 :(得分:0)
您可以使用字符数组
char[] letters = "ABCD".toCharArray();
您想要的字母位于数组中数字的位置。
System.out.println(letters[0]);
会打印'A'
这仅适用于您希望A从0而不是97开始的情况。
答案 1 :(得分:0)
您可以创建一个方法:
public String getCharacterFromInt(int i) {
return String.valueOf((char)(i + 'A'));
}
您可以调用该方法:
System.out.println("Value: "+getCharacterFromInt(0));
为0时,返回A 等等。
答案 2 :(得分:0)
让我知道您是否正在尝试做这样的事情。
public class MainClass {
public static void main(String[] args) {
Scanner scanner=new Scanner(System.in);
String s=scanner.nextLine();
for(int i=0;i<s.length();i++){
System.out.println("Value of the text at ["+i+"]: "+((int) s.charAt(i)-22)%25);
}
}
}
如果输入为:evil
输出将是:
Value of the text at [0]: 4
Value of the text at [1]: 21
Value of the text at [2]: 8
Value of the text at [3]: 11